我正在向请求主体中使用JSON的API发出http请求.我知道Dictionary
包含JSON数据的事实是正确的,我仍然从服务器得到我的输入数据无效的响应.我正在做一些非常类似的事情:Swift 2.0 url post post request.我甚至尝试过在那里建议的扩展但没有成功.
我该怎么调试呢?我找不到任何方法将我的整个请求打印到控制台.我想在发送请求之前知道我的URLRequest实际包含的内容.另外,我想知道这个十六进制乱码实际上是我认为的正确的胡言乱语,我该怎么做?
没什么特别的吗?只需写一个扩展名并打印你想要的任何内容
例:
extension Data { func toString() -> String? { return String(data: self, encoding: .utf8) } } extension URLRequest { func log() { print("\(httpMethod ?? "") \(self)") print("BODY \n \(httpBody?.toString())") print("HEADERS \n \(allHTTPHeaderFields)") } }
用法:
request.log()
样本日志:
POST https://httpbin.org/ BODY Optional("password=xxx&username=xxx") HEADERS Optional(["Content-Type": "application/x-www-form-urlencoded; charset=utf-8"])