我正在创建基于休息的应用程序,当我向服务器网址发出请求时: 示例:107.XXX.XXX.XXX:8080/taxi - 它正在工作,返回 JSON。 但是当我向转发到该 IP 的域发出请求时,我的应用程序向我显示了该异常:
2017-04-18 20:23:53.063 Project X[4121:301275] http://107.XXX.XXX.XXX:8080/taxi 2017-04-18 20:23:53.065 Project X[4121:301275] fireGetWebserviceCall finally 2017-04-18 20:23:53.252 Project X[4121:301275] Error: Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" UserInfo={NSUnderlyingError=0x600000240600 {Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo={com.alamofire.serialization.response.error.response= { URL: http://107.XXX.XXX.XXX:8080/taxi } { status code: 404, headers { "Content-Language" = en; "Content-Length" = 977; "Content-Type" = "text/html;charset=utf-8"; Date = "Tue, 18 Apr 2017 17:23:51 GMT"; Server = "Apache-Coyote/1.1"; } }
当我将该 URL 粘贴到浏览器中时,我得到正常的 JSON 响应。 有人可以向我解释为什么返回的信息是 text/html 以及如何修复它吗?
最佳答案
我使用下面的代码来确保从 URL 返回 JSON 响应:
swift
var request = URLRequest(url: self.url!)
request.httpMethod = self.httpMethod
request.httpBody = body
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
关于iOS 应用程序调用重定向域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43478874/