是否可以在执行实际请求之前打印整个http(s)请求?
这是我的代码:
let postsEndpoint: String = "https://www.example.com/api/" guard let postsURL = NSURL(string: postsEndpoint) else { throw APICallError.other("cannot create URL") } let postsURLRequest = NSMutableURLRequest(URL: postsURL) postsURLRequest.HTTPMethod = "POST" print(UTF8EncodedJSON) postsURLRequest.HTTPBody = UTF8EncodedJSON print(postsURLRequest) let config = NSURLSessionConfiguration.defaultSessionConfiguration() let session = NSURLSession(configuration: config) let task = session.dataTaskWithRequest(postsURLRequest, completionHandler: { (data, response, error) in //handle response })
这先打印十六进制的json,然后:
这对我没有多大帮助.我只想打印我的整个请求,就像你在Firefox上的firebug中看到它一样.
- 编辑 -
为了澄清,我不打算打印我的json.关于SO已经有足够的问题了.我希望我的完整请求打印出来像这样:
POST /api/v2/ HTTP/1.1 HTTP headers: Host: www.example.ocm Origin: http://www.example.com Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/\*;q=0.8 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9 Referer: http://www.ritzie.nl/api/test.php Accept-Language: en-us Accept-Encoding: gzip, deflate request body: data=%7B%22action%22%3A+%22vehicleRecords%22%2C%0D%0A%22token%22%3A+%22token_04e01fdc78205f0f6542bd523519e12fd3329ba9%22%2C%0D%0A%22vehicle%22%3A+%22vehicle_e5b79b2e%22%7D
或这个: