NSURLConnectionが生成する実際のHTTPリクエストメッセージを取得する方法はありますか?「tcpdump」(Unix util)を使用してそれを理解しましたが、プログラムで取得する方法があるかどうか疑問に思っていましたか?
たとえばhttp://www.example.com/somepath/resource?v=99
、NSURLConnectionで使用すると、URL文字列は明らかにこれを生成します。
GET /somepath/resource?v?99 HTTP/1.1
Host: www.example.com
User-Agent: {myprog}/1 CFNetwork/596.2.3 Darwin/12.2.0 (x86_64) (iMac11%2C1)
Accept: */*
Date: Wed, 19 Dec 2012 03:12:12 GMT+01:00
Accept-Language: sv-se
Accept-Encoding: gzip, deflate
Cookie: {long-string}
Connection: keep-alive
これらのHTTPヘッダーの一部はsetValue:forHTTPHeaderField:
、NSURLRequestを使用して他の値に設定できますが(「Host」や「User-Agent」など)、設定できないものもあります(「Connection」など)。