HTTP HTTP GET HTTP proxy HTTP proxy Digest auth multi # 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: 33 And you should ignore this data. # then this is returned when we get proxy-auth HTTP/1.1 200 OK Content-Length: 21 Server: no Nice proxy auth sir! 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 Content-Length: 21 Server: no Nice proxy auth sir! HTTP/1.1 200 OK Content-Length: 21 Server: no Nice proxy auth sir! # Client-side http # tool is what to use instead of 'curl' lib540 crypto HTTP proxy auth Digest multi API re-using connection http://test.remote.example.com/path/540 http://%HOSTIP:%HTTPPORT silly:person custom.set.host.name # Verify data after the test has been "shot" ^User-Agent: curl/.* GET http://test.remote.example.com/path/540 HTTP/1.1 Accept: */* Proxy-Connection: Keep-Alive Host: custom.set.host.name GET http://test.remote.example.com/path/540 HTTP/1.1 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261" Accept: */* Proxy-Connection: Keep-Alive Host: custom.set.host.name GET http://test.remote.example.com/path/540 HTTP/1.1 Proxy-Authorization: Digest username="silly", realm="weirdorealm", nonce="12345", uri="/path/540", response="ca507dcf189196b6a5374d3233042261" Accept: */* Proxy-Connection: Keep-Alive Host: custom.set.host.name