【问题标题】:Problem in making Swift API call for a curl GET request为 curl GET 请求进行 Swift API 调用时出现问题
【发布时间】:2022-06-17 21:42:58
【问题描述】:

如何创建一个 Swift 代码来为此 curl 进行 API 调用

curl -u myusername:mypassword https://test.mysite.com?type=min

我试过这个,但我没有看到任何成功的响应......我期待在这一行打印一些响应print(response)

    let urlString = "https://test.mysite.com"
    var urlComponents = URLComponents(string: urlString)
        urlComponents?.queryItems = [
            URLQueryItem(name: "type", value: "min"),
        ]
     let url = urlComponents?.url
        if let url = url {
        
        // Create URL request
        var request = URLRequest(url: url, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: 10.0)
        request.httpMethod = "GET"
        request.addValue("myusername:mypassword", forHTTPHeaderField: "u")        
        guard url != nil else {
            // couldn't create url
            return
        }
        
        // Create URLSession
        let session = URLSession.shared

        // Create the Data Task
        let dataTask = session.dataTask(with: request) { (data, response, error) in
            // check there is not an error
            if error == nil {
            print(response)                    
            }
        }            
        // Start the data task
        dataTask.resume()
    }

【问题讨论】:

  • 基本身份验证令牌应在授权 http 标头中发送...检查此 tut:cocoacasts.com/…
  • 阅读this。您正在转换 -u 错误。没有u http头字段之类的东西。

标签: swift swiftui


【解决方案1】:

我找到了这个包: https://github.com/Alamofire/Alamofire

这使得在 Swift 中使用外部 API 变得更加容易 您可以阅读它的文档: https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#using-alamofire

【讨论】:

    猜你喜欢
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2019-08-08
    • 2017-09-06
    • 2014-07-06
    • 2022-01-16
    相关资源
    最近更新 更多