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: */*