如何编写 url 字符串 POST 请求
Posted
技术标签:
【中文标题】如何编写 url 字符串 POST 请求【英文标题】:How to write a url string POST Request 【发布时间】:2017-11-21 21:15:49 【问题描述】:嘿,所以我有一个网站,其中包含向其发布信息的文档。说明如何发布的文档。以这样的形式出现。
文档中的代码:
curl -X POST "https://api/management/user" \
-d "user_id=myuserid" \
-d "client=clientclientclient" \
-d "secret=secretsecret"
我不知道如何用 swift 字符串写出来。
代码:
let string = "https://api/management/user/user_id=myuserid/client=clientclientclient/secret=secretsecret"
然后我可以做这样的事情。
代码:
let url = NSURL(string: string)
let request = NSMutableURLRequest(url: url! as URL)
request.httpMethod = "POST"
let session = URLSession.shared
let tache = session.dataTask(with: request as URLRequest) (data, response, error) -> Void in
print(data!)
print(response!)
tache.resume()
我对此很陌生 那么写这篇文章的正确方法是什么。
【问题讨论】:
通过 POST 请求,参数会在正文中发送!有关示例,请参阅此已接受的答案:***.com/questions/6148900/… 【参考方案1】:您需要将数据作为 POST 请求的 HTTP 正文发送。
if let theURL = URL.init(string:"https://api/management/user"
let request = URLRequest(url: theURL)
request.addValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
let postString = "user_id=myuserid&client=clientclientclient&secret=secretsecret"
if let encodedPostString = postString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlHostAllowed), let body = encodedPostString.data(using:.utf8)
request.httpBody = body
let task = URLSession.shared.dataTask(with: request) (data, response, error) -> Void in
print(data!)
print(response!)
task.resume()
【讨论】:
以上是关于如何编写 url 字符串 POST 请求的主要内容,如果未能解决你的问题,请参考以下文章