【问题标题】:(Error Domain=NSPOSIXErrorDomain Code=100 "Protocol error"(错误域=NSPOSIXErrorDomain 代码=100“协议错误”
【发布时间】: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)
        }
    }
}

【问题讨论】:

    标签: swift alamofire


    【解决方案1】:

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

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

    Header unset Upgrade
    

    然后重启

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2017-05-18
        • 2018-03-08
        • 2020-05-20
        • 2023-04-09
        • 1970-01-01
        • 2021-05-25
        • 2021-10-13
        • 2021-03-06
        • 1970-01-01
        相关资源
        最近更新 更多