HTTP HTTP GET HTTP CONNECT HTTP proxy proxytunnel HTTP proxy Digest auth # Server-side connection-monitor auth_required # this is returned first since we get no proxy-auth HTTP/1.1 407 Authorization Required to proxy me my dear Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" Content-Length: 33 And you should ignore this data. # this is returned when we get a GET! HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 7 Connection: close Content-Type: text/html Funny-head: yesyes daniel # then this is returned when we get proxy-auth HTTP/1.1 200 OK swsbounce Server: no HTTP/1.1 407 Authorization Required to proxy me my dear Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" Content-Length: 33 HTTP/1.1 200 OK swsbounce Server: no HTTP/1.1 200 OK Date: Thu, 09 Nov 2010 14:49:00 GMT Content-Length: 7 Connection: close Content-Type: text/html Funny-head: yesyes daniel # Client-side http crypto HTTP proxy CONNECT auth Digest http://test.remote.haxx.se.206:%HTTPPORT/path/2060002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel # Verify data after the test has been "shot" ^User-Agent: curl/.* CONNECT test.remote.haxx.se.206:%HTTPPORT HTTP/1.1 Host: test.remote.haxx.se.206:%HTTPPORT Proxy-Connection: Keep-Alive CONNECT test.remote.haxx.se.206:%HTTPPORT HTTP/1.1 Host: test.remote.haxx.se.206:%HTTPPORT Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.haxx.se.206:%HTTPPORT", response="003e36decb4dbf6366b3ecb9b87c24ec" Proxy-Connection: Keep-Alive GET /path/2060002 HTTP/1.1 User-Agent: curl/7.12.3-CVS (i686-pc-linux-gnu) libcurl/7.12.3-CVS OpenSSL/0.9.6b zlib/1.1.4 Host: test.remote.haxx.se.206:%HTTPPORT Accept: */* [DISCONNECT]