<testcase> <info> <keywords> HTTP HTTP GET HTTP CONNECT HTTP proxy proxytunnel CURLOPT_CONNECT_TO SOCKS5 </keywords> </info> # # Server-side <reply> <connect> HTTP/1.1 200 Connection established </connect> <data> HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 3 Content-Type: text/plain OK </data> <datacheck> HTTP/1.1 200 Connection established HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 3 Content-Type: text/plain OK </datacheck> </reply> # # Client-side <client> <server> http http-proxy socks5 </server> <name> Connect to specific host via SOCKS proxy and HTTP proxy (switch to tunnel mode automatically) </name> <command> http://www.example.com.2055/2055 --connect-to ::connect.example.com.2055:%HTTPPORT -x %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT </command> </client> # # Verify data after the test has been "shot" <verify> <strip> ^User-Agent:.* </strip> <proxy> CONNECT connect.example.com.2055:%HTTPPORT HTTP/1.1 Host: connect.example.com.2055:%HTTPPORT Proxy-Connection: Keep-Alive </proxy> <protocol> GET /2055 HTTP/1.1 Host: www.example.com.2055 Accept: */* </protocol> </verify> </testcase>