Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
swift是如何发出网络请求的_Swift_Python Requests - Fatal编程技术网

swift是如何发出网络请求的

swift是如何发出网络请求的,swift,python-requests,Swift,Python Requests,我是个新手,所以可以帮我使用swift进行网络请求,谢谢。为什么不能审核和提交呢 //创建请求体 let param = ["moblie":"18392387159"] let data = try! JSONSerialization.data(withJSONObject: param, options: JSONSerialization.WritingOptions.prettyPrinted) var string = "json=" let St

我是个新手,所以可以帮我使用swift进行网络请求,谢谢。为什么不能审核和提交呢

//创建请求体
    let param = ["moblie":"18392387159"]

    let data = try! JSONSerialization.data(withJSONObject: param, options: JSONSerialization.WritingOptions.prettyPrinted)
    var string = "json="

    let Str = String(data: data, encoding: String.Encoding(rawValue: String.Encoding.utf8.rawValue))
    //拼接
    string = string + Str!

    let Url = URL.init(string: "http://huixin.smartdot.com:9901/GoComWebService/restful/GoComeRestful/getResetCode")

    let request = NSMutableURLRequest.init(url: Url!)

    request.timeoutInterval = 30
    //请求方式,跟OC一样的
    request.httpMethod = "POST"
    request.httpBody = string.data(using: String.Encoding.utf8)

    let session = URLSession.shared
    let dataTask = session.dataTask(with: request as URLRequest) { (data, response, error) -> Void in
        if (error != nil) {
            return
        }
        else {
            //此处是具体的解析,具体请移步下面
            let json: Any = try! JSONSerialization.jsonObject(with: data!, options: [])
            if let value = JSON(json)["status"].string {
                print("状态是:\(value)")
            }
            print(json)
        }
    }

    dataTask.resume()

我这样写,为什么不起作用

我建议您修改以下代码

数据不建议强制解包,我在这里只是帮你快速发现问题,处理这个问题

  do {
   let dic = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments)
    print(dic)
  } catch {
      print(error)
  }
此处返回的错误为

Error Domain=NSCocoaErrorDomain code=3840“无值”。UserInfo={NSDebugDescription=无值。}

您可以询问问题的参数,自己检查