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

Posted

技术标签:

【中文标题】(错误域=NSPOSIXErrorDomain 代码=100“协议错误”【英文标题】:(Error Domain=NSPOSIXErrorDomain Code=100 "Protocol error" 【发布时间】:2018-04-11 20:15:31 【问题描述】:

我正在使用 Alamofire,与 HTTP 一起使用没有问题,但是当我将协议 HTTP 更改为 HTTPS 时出现以下问题

错误域=NSPOSIXErrorDomain 代码=100 "协议错误" UserInfo=NSErrorPeerAddressKey=长度=16,容量=16,字节= 0x100201bb5d5efc420000000000000000,_kCFStreamErrorCodeKey=100, _kCFStreamErrorDomainKey=1)

我试过的鳕鱼:

public init()
static let shared = HTTPRequest()

func Service(method:String,path:String,
             parameters:[String:String]? = nil,
             requestObj:Any? = nil,
             actionListener:ActionListener)

    actionListener.start()
    var _url = URLComponents(string: BaseURL + path)

    if parameters != nil
        var queryItems = [URLQueryItem]()
        for parameter in parameters!
            let queryItem = URLQueryItem(name: parameter.key, value: parameter.value)
            queryItems.append(queryItem)
        
        _url?.queryItems = queryItems
    
    var request = URLRequest(url: (_url?.url)!)

    request.httpMethod = method
    request.setValue("application/json", forHTTPHeaderField: "Content-Type")
    if MobileConstants.AccessToken != nil
         request.setValue(MobileConstants.AccessToken, forHTTPHeaderField:"Authorization")
        request.setValue(MobileConstants.LoginResponse.user.userName, forHTTPHeaderField: "UserName")
    
    request.setValue("ios", forHTTPHeaderField: "ClientToken")
    request.setValue("en-US", forHTTPHeaderField: "Language")
    if(requestObj != nil)
    let json = JSONSerializer.toJson(requestObj!)
    request.httpBody = json.data(using: .utf8)
    

    Alamofire.request(request).responseJSON 
        response in
        if(response.result.isSuccess)
            actionListener.success(from: path, data: response.result.value!)
        else
            actionListener.fail()
            print(response.error)
            print(response.result.error)
        
    

【问题讨论】:

【参考方案1】:

这不是一个根本的解决方案,我用...解决了它

将以下内容添加到 apache 的 httpd.conf 中

Header unset Upgrade

然后重启

【讨论】:

【参考方案2】:

我遇到了这个问题,然后我发现问题是 HTTP 正文,当 HTTP 方法是 GET 时,我将我的 HTTP 正文设置为 nil

【讨论】:

以上是关于(错误域=NSPOSIXErrorDomain 代码=100“协议错误”的主要内容,如果未能解决你的问题,请参考以下文章

错误域 = NSPOSIXErrorDomain 代码 = 28 “设备上没有剩余空间” UserInfo = _kCFStreamErrorCodeKey = 28,_kCFStreamErrorD

NSPOSIXErrorDomain 哪里下载文件

React Native 构建命令失败:PhaseScriptExecution ...(域=NSPOSIXErrorDomain,代码=2)

NSPOSIXErrorDomain:100 错误

AFNetworking/NSURLConnection 接收 NSPOSIXErrorDomain Code=9 "操作无法完成。错误的文件描述符"

NSErrorDomain 用于打包 HTTP 结果代码?