有没有办法获取NSURLConnection生成的实际HTTP请求消息?我已经使用“tcpdump”(Unix util)来解决它,但是想知道是否有办法以编程方式获取它?
例如,如果我在NSURLConnection中使用它,URL字符串http://www.example.com/somepath/resource?v=99
显然会产生这个:
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标头可以使用NSURLRequest上的setValue:forHTTPHeaderField:
设置为其他值(例如“Host”和“User-Agent”),但有些不能(如“Connection”)。
答案 0 :(得分:0)
[request allHTTPHeaderFields]发送一个字典,其中包含只有你设置的键和值....
如果您想查看整个请求,可以使用以下工具...
http://blog.jerodsanto.net/2009/06/sniff-your-iphones-network-traffic/
我显示了请求和响应......