Ios URLSession数据任务:POST请求表示无法连接到服务器,可以使用邮递员进行访问

Ios URLSession数据任务:POST请求表示无法连接到服务器,可以使用邮递员进行访问,ios,post,urlsession,Ios,Post,Urlsession,可能是非常愚蠢的事情,但我挠头想知道为什么会发生这种事。我有一个小型Flask REST服务器在我的机器上本地运行,我正在发布一些JSON数据。当我使用POSTMAN检查时,它工作正常,但当我使用以下代码调用POST时,我得到了错误-无法连接到服务器。我做错了什么,真的?我检查过了,URL格式正确 func postJSONPayload(payload: Data, completion: ((Error?) -> Void)?) { print("Posting JSO

可能是非常愚蠢的事情,但我挠头想知道为什么会发生这种事。我有一个小型Flask REST服务器在我的机器上本地运行,我正在发布一些JSON数据。当我使用POSTMAN检查时,它工作正常,但当我使用以下代码调用POST时,我得到了错误-无法连接到服务器。我做错了什么,真的?我检查过了,URL格式正确

    func postJSONPayload(payload: Data, completion: ((Error?) -> Void)?) {
    print("Posting JSON Payload to server........")
    var urlComponents = URLComponents()

    urlComponents.scheme = "http"
    urlComponents.host = "127.0.0.1"
    urlComponents.port = 5000
    urlComponents.path = "/mobir/api/payloads"

    guard let url = urlComponents.url else {fatalError("Could not create url from components!")}
    print("url is: \(url.absoluteString)")
    var request = URLRequest(url: url)
    request.httpMethod = "POST"


    var headers = request.allHTTPHeaderFields ?? [:]
    headers["Content-Type"] = "application/json"
    request.allHTTPHeaderFields = headers

    request.httpBody = payload
    print("payload: ", String(data: request.httpBody!, encoding: .utf8) ?? "No payload in body!")


    let config = URLSessionConfiguration.default
    let session = URLSession(configuration: config)

    let task = session.dataTask(with: url) { (responseData, response, responseError) in
        print("got the response!")

        guard responseError == nil else {
            print("responseError not nil- error is: \(responseError!.localizedDescription)")
            completion?(responseError!)
            return
        }

        if let data = responseData, let utf8repofData =
            String(data: data, encoding: .utf8) {
            print("response: ", utf8repofData)
        } else {
            print("No data to read in response!")
        }
    }

    task.resume()
}

好吧,这太傻了——我自己回答。需要将app.run(主机='0.0.0.0')放入my Flask服务器代码中,以便在URL包含机器的IP地址时在网络上可见。现在工作