gpt4 book ai didi

ios - 如何在 swift 3 中使用 HTTP Post 方法获取 JSON 数据?

转载 作者:搜寻专家 更新时间:2023-11-01 07:19:03 24 4
gpt4 key购买 nike

我对在 post 方法中获取 HTTP 响应感到困惑。当我检查 postman 的回复时,会得到所需的回复并成功更新配置文件。但是以编程方式我收到了错误通知。问题是什么?如何解决?请引用截图。提前致谢!

我试过的代码

override func viewDidLoad() {
super.viewDidLoad()
self.updateDetails()

}


func updateDetails()
{

let postString = "api=update_people&user_id=18&email=rajesh@gmail.com&first_name=Raejsh&phone=456562&age=26&gender=male&blood_group=A"

print(postString)

// let alertMessage = alert()

let url = NSURL(string: "http://kuruthi.in/portal/api/register")

let request = NSMutableURLRequest(url: url as! URL)

request.httpBody = postString.data(using: String.Encoding.utf8)
request.httpMethod = "POST"
request.addValue("123456", forHTTPHeaderField: "X-API-KEY")
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")


let task = URLSession.shared.dataTask(with: request as URLRequest) { data,response,error in
guard error == nil && data != nil else
{

print("Error:\(error)")
return
}

let httpStatus = response as? HTTPURLResponse

if httpStatus!.statusCode == 200
{
if data?.count != 0
{
let responseString = String(data: data!, encoding: .utf8)
print(responseString)

}
else
{
print("No data got from url!")

}
}
else
{

print("error httpstatus code")
}
}
task.resume()

}

程序输出中的响应: enter image description here

postman 回复: enter image description here

最佳答案

您收到 html 代码的原因是您从 Web 服务收到一些错误,请查看输出日志中的消息“遇到 PHP 错误”。

postman 的成功是因为你的请求在 form-data 中。将来自 Raw 的 postman 的请求与您生成的请求进行比较。

可以引用这个link用于创建请求。但是代码在 Objective-Cand 中,你可以使用这个 link转换代码,或者您可以使用 Alamofire创建请求并引用此 link使用 Alamofire 创建多部分表单数据请求

关于ios - 如何在 swift 3 中使用 HTTP Post 方法获取 JSON 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40058324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com