有没有办法获取 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”)。