错误域=com.alamofire.error.serialization.response Code=-1011 “请求失败:未找到 (404)”
Posted
技术标签:
【中文标题】错误域=com.alamofire.error.serialization.response Code=-1011 “请求失败:未找到 (404)”【英文标题】:Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" 【发布时间】:2018-02-26 04:55:11 【问题描述】:我正在使用 CordovaHttp 插件在我的 Cordova 应用程序中基于 angular1 进行 API 调用。我正在使用以下 URL 以用户名和密码作为参数进行身份验证的发布请求。
https://xxxx.xxxx.com:443/xxx/v3/xxx/Authentication/signin
在 android 和 Postman 中发出请求时一切正常。但是当我在 ios 上发出相同的请求时,它会失败并出现以下错误:
Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: not found (404)" UserInfo=com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x60800002e160> URL: https://xxxx.xxxx.com:443/xxx/v3/xxx/Authentication/signin status code: 404, headers
"Content-Length" = 817;
"Content-Type" = "text/html";
Date = "Sun, 17 Sep 2017 15:37:12 GMT";
Server = "Microsoft-IIS/8.0";
, NSErrorFailingURLKey=https://xxxx.xxxx.com:443/xxx/v3/xxx/Authentication/signin
如果我从上面的 url 中删除端口 443,一切正常。我不知道为什么 iOS 会发生这种情况以及如何解决这个问题。
我想使用端口号,因为我的应用程序使用不同的服务器配置和不同的端口号,具体取决于客户端。
【问题讨论】:
【参考方案1】:错误表明 - 找不到您尝试访问的资源。
发生这种情况的原因有很多,其中一些可能是 -
您尝试访问的服务端点不正确。 您请求的 Content-Type 标头与服务器要求的标头不匹配。 What are all the possible values for HTTP "Content-Type" header? 不用全部都试,问后端的人就行了。【讨论】:
正如我所说,如果我从 url 中删除端口 443,api 就可以工作。那么您仍然认为它是内容类型问题吗?因为我已经尝试过很多人了以上是关于错误域=com.alamofire.error.serialization.response Code=-1011 “请求失败:未找到 (404)”的主要内容,如果未能解决你的问题,请参考以下文章
(错误域=NSPOSIXErrorDomain 代码=100“协议错误”
错误:错误域=NSURLErrorDomain 代码=-1001“请求超时。”