错误域=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“协议错误”

跨域错误是怎么回事

电脑加域失败显示:5

错误:错误域=NSURLErrorDomain 代码=-1001“请求超时。”

需要在 Glassfish 上启动域,出现错误:“目录”中没有域

同一域上的ajax跨域错误?