gpt4 book ai didi

ios - 给定网站的 Swift 中的 POST 查询

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:28:46 25 4
gpt4 key购买 nike

我正在尝试为用 Swift 编写的 iOS 应用程序查询以获取指定汽车的燃料类型和消耗量(用户输入品牌和型号)。

该应用程序是针对西类牙的,我找到了一个允许用户输入品牌和型号的网站,它会返回该汽车的详细信息 (http://coches.idae.es/portal/BaseDatos/MarcaModelo.aspx)。我已经看到使用 WireShark 工具,该查询基于 POST 而不是 GET。但我不太确定如何在我正在开发的应用程序中发出请求,或者如何处理发件人发回给我的信息。

有没有办法向给定的网站发出这些请求?如果是这样,我将非常感谢有关该主题的一些帮助,我是 iOS 开发的新手,并期待尽可能多地学习。

谢谢:)

最佳答案

许多人喜欢使用 AFNetworking用于发出 HTTP 请求。但是你不需要那样做。你说它是一个 POST 请求。即使没有使用 NSMutableURLRequest 的 AFNetworking,设置也很容易。我假设您有指向 API 的链接,而不仅仅是指向 aspx 页面的链接。我的西类牙语很差,所以我无法为您查找 API 引用,但这里是您如何发出请求并从服务器接收数据的方法。您必须输入正确的值并解析响应:

let request = NSMutableURLRequest(URL: NSURL(string: "/* Paste URL here */")!)
request.HTTPMethod = "POST"
// Do this as many times are required for filling in the headers.
request.addValue("/* The value for the HTTP header */", forHTTPHeaderField: "/*The header field like Accept-Type, etc..*/")

// If you need an HTTP body too then make the JSONObj as a dictionary or array or whatever and then
let data = NSJSONSerialization.dataWithJSONObject(JSONObj, options: [])
request.HTTPBody = data // This needs to be NSData.

// Now make the request.
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, { (data, response, error) -> Void in
if error == nil
{
assert(data != nil)
let JSON = NSJSONSerialization.JSONObjectWithData(data!, options: []) as? [NSObject: AnyObject]
// If you are using swift 2 this needs to be in a do try catch statement.
// TODO: Use JSON for whatever.
}
else
{
print(error!.localizedDescription)
}
}
task?.resume()

如果您有任何其他问题,或者 API 不使用 JSON 或完全不同,请告诉我。

关于ios - 给定网站的 Swift 中的 POST 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31206089/

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