如何快速执行卷曲请求? [英] How to perform a curl request in swift?

查看:44
本文介绍了如何快速执行卷曲请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用外部 API,该 API 具有如下所示的 API 请求.我习惯于只使用一个 url 来请求,但是我如何处理H"和d"参数?我应该将它们包含在我的网址中还是

I am trying to use an external API, which has an API request that is like the following. I am used to requests with just one url, but what do I do with the "H" and the "d" arguments? Should I include them in my url or

$ curl -X POST https://api.lucidtech.ai/v0/receipts \
  -H 'x-api-key: <your api key>' \
  -H 'Content-Type: application/json' \
  -d '{"documentId": "a50920e1-214b-4c46-9137-2c03f96aad56"}'

目前我有以下代码,但我应该将 API 密钥和文档 ID 放在这段代码中的什么位置?

Currently I have the following code, but where do I place the API key and the document id in this code?

@IBAction func getScannedData(_ sender: Any){
    guard let url = URL(string: "https://api.lucidtech.ai/v0/receipts") else {return}

    let session = URLSession.shared
    session.dataTask(with: url) { (data, response, error) in
        if let response = response{
            print(response)
        }


}

推荐答案

这是一个如何将 curl 命令转换为 URLRequest 的示例:

This is an example of how you can translate the curl command into URLRequest:

guard let url = URL(string: "https://api.lucidtech.ai/v0/receipts"),
    let payload = "{\"documentId\": \"a50920e1-214b-4c46-9137-2c03f96aad56\"}".data(using: .utf8) else
{
    return
}

var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("your_api_key", forHTTPHeaderField: "x-api-key")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = payload

URLSession.shared.dataTask(with: request) { (data, response, error) in
    guard error == nil else { print(error!.localizedDescription); return }
    guard let data = data else { print("Empty data"); return }

    if let str = String(data: data, encoding: .utf8) {
        print(str)
    }
}.resume()

这篇关于如何快速执行卷曲请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆