当前位置: 首页 > 面试题库 >

错误域= NSPOSIXErrorDomain代码= 100“协议错误”

钱经业
2023-03-14
问题内容

我正在尝试使用.get方法使用Alamofire调用服务。该请求没有什么特别的,没有任何参数,只是一个Authorization标头。

我在这里有点生气,因为当我在具有相同URL和授权令牌的邮递员上运行请求时,请求工作正常,但是当我使用Alamofire运行应用程序代码时,它将返回此错误:

错误域= NSPOSIXErrorDomain代码= 100“协议错误” UserInfo = {NSErrorPeerAddressKey =
{长度= 16,容量= 16,字节= 0x100201bbd83ad0b10000000000000000},_
kCFStreamErrorCodeKey = 100,_kCFStreamErrorDomainKey = 1}

我在用:

Alamofire.request("https://myserverURL", method: .get, parameters: [:], encoding: JSONEncoding.default, headers: ["Authorization":"myToken"])
        .responseJSON {response in

    guard response.result.error == nil else { 
       //HERE IS WHERE IS GOING IN WITH THE ERROR
    }
}

任何想法将不胜感激或指向我正确的方向:)


问题答案:

在基础课上,我在可可中遇到了与您完全相同的错误URLSession。经过数小时的调试,问题出在HTTP请求正文中。

您实际上应该尝试 转储HTTP请求/响应主体, 以查看是否存在一些格式错误的字段。例如,Content-Length并且Content- Type被正确或丢失?以我的经验,如果这些必需的(基本)标头格式不正确,则 可能无法运行,
具体取决于您的操作系统或其他中间网络接受(例如,代理,网关,服务器等)

我的错是方法中的函数参数放错URLRequest.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")了位置,结果以错误的Content-TypeHTTP字段结尾。

但是,它可以在macOS 10.12而不是12.11中使用,因此 您应确保HTTP请求正文没有格式错误

希望能帮助到你。

形成您的示例代码,我想这encoding: JSONEncoding.default是错误的。由于 HTTP GET方法没有主体
,因此严格/不严格的网络组件将拒绝/不理解它。

您的目标是Accept: application/json在请求标头中设置的,但是如果您确定响应正文类型,则不需要设置目标。



 类似资料:
  • 我正在尝试将python刮刀部署到docker,它需要selenium gecko驱动程序和Firefox。我在尝试构建docker映像时遇到docker错误100。这是docker代码 这是我终端上最后出现的日志

  • 我正在尝试使用maven protoc插件和我在Cygwin中构建的protoc可执行文件编译协议缓冲区代码。我无法从Cygwin或Windows命令行执行此操作。下面是我在Windows中运行它时得到的输出,但从Cygwin运行时的错误是相同的。我觉得这很奇怪,因为如果问题是路径转换,那么我希望其中一个可以工作。这个可执行文件是用Cygwin的g构建的,这可能会影响到事情吗?(显而易见,该目录确

  • 我是协议缓冲区和gRPC的新手。现在我正在尝试在Go中使用grpcgrpc-网关构建客户端/服务器架构。 我试着效仿一些例子,但最终总是遇到同样的问题。用protoc生成代码后,我运行go build,得到了这个错误: 这是go.mod: 这是: 这是指向存储库的链接:https://github.com/riccardopedrielli/grpc-gateway-test 我看到生成的go文件

  • 错误代码 宏定义 #define  RT_EOK   0   无错误   #define  RT_ERROR   1   一般错误   #define  RT_ETIMEOUT   2   超时错误   #define  RT_EFULL   3   资源已满   #define  RT_EEMPTY   4   资源已空   #define  RT_ENOMEM   5   内存不足   #de

  • 我试图安装Caffe库,但我有一个编译问题,由于一个错误的原型版本安装在我的系统。 我在论坛上遵循了许多提议的方法,我认为在这篇帖子中讨论了最类似的问题。 在caffe.pb.h中控件是: 但是在我的系统标头(/usr/include/google/cript buf/stubs/Common. h)中: 命令protoc--version从终端返回libprotoc 3.2.0。 所以我安装了3

  • 我忘了把我的更改推进到一个我已经工作了几个月的项目中。这导致了一个非常大的. git目录(约11 GB)。回购中的其余文件组合起来要比这少得多。我想把所有的提交都推到github上,如果不是一次完成,那就增量完成。因此,我试图一个接一个地推动提交,以便保持在每次推送的限制之下。 我的第一次提交(~5.5 GB)推送失败,并给出错误。 我在谷歌搜索时发现了一些类似的信息,但它们都指向一个特定的字符错