HTTP HTTP GET HTTP CONNECT HTTP proxy proxytunnel HTTP proxy Digest auth # Server-side # 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: 35701 X-tra-long-header: %repeat[16080 x a]% %repeat[700 x And you should ignore this data. aaaaaaaaaaaaaaaa %0a]% # this is returned when we get a GET! HTTP/1.1 200 OK Date: Tue, 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 Server: no HTTP/1.1 407 Authorization Required to proxy me my dear Proxy-Authenticate: Digest realm="weirdorealm", nonce="12345" Content-Length: 35701 X-tra-long-header: %repeat[16080 x a]% HTTP/1.1 200 OK Server: no HTTP/1.1 200 OK Date: Tue, 09 Nov 2010 14:49:00 GMT Content-Length: 7 Connection: close Content-Type: text/html Funny-head: yesyes daniel # Client-side http !SSPI crypto proxy digest HTTP proxy CONNECT auth Digest, large headers and data http://test.remote.haxx.se.%TESTNUMBER:8990/path/%TESTNUMBER0002 --proxy http://%HOSTIP:%HTTPPORT --proxy-user silly:person --proxy-digest --proxytunnel # Verify data after the test has been "shot" CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1 Host: test.remote.haxx.se.%TESTNUMBER:8990 User-Agent: curl/%VERSION Proxy-Connection: Keep-Alive CONNECT test.remote.haxx.se.%TESTNUMBER:8990 HTTP/1.1 Host: test.remote.haxx.se.%TESTNUMBER:8990 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="test.remote.haxx.se.%TESTNUMBER:8990", response="e1fbed39c26f4efe284adc0e576ff638" User-Agent: curl/%VERSION Proxy-Connection: Keep-Alive GET /path/%TESTNUMBER0002 HTTP/1.1 Host: test.remote.haxx.se.%TESTNUMBER:8990 User-Agent: curl/%VERSION Accept: */*