如何调试网络请求 Swift
Posted
技术标签:
【中文标题】如何调试网络请求 Swift【英文标题】:How to debug network request Swift 【发布时间】:2016-01-09 22:25:57 【问题描述】:我在请求正文中使用 JSON 向 API 发出 http 请求。我知道我的 Dictionary<String, String>
包含 JSON 数据是正确的,但我仍然从服务器收到我的输入数据无效的响应。我正在做与此非常相似的事情:Swift 2.0 url post request。我什至尝试了那里建议的扩展,但没有成功。
我应该如何调试这个?我找不到任何方法将我的整个请求打印到控制台。我想在发送请求之前知道我的 URLRequest 实际包含的内容。另外,我想知道这个十六进制乱码实际上是我想要的正确的乱码,我应该怎么做?
【问题讨论】:
跟进问题:***.com/q/34705449/4600952 【参考方案1】:这没什么特别的吗?只需编写扩展程序并打印您想要的任何内容
示例:
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"])
【讨论】:
以上是关于如何调试网络请求 Swift的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中使用 Alamofire 网络进行解析时,如何在请求中发送内容类型?