首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Swift中获得Api访问权限?

如何在Swift中获得Api访问权限?
EN

Stack Overflow用户
提问于 2019-07-04 03:53:24
回答 1查看 123关注 0票数 3

我用python创建了一个程序,其中我从一个'wind‘网站上获取了一个值。一切正常,但我想尝试在Swift中构建相同的应用程序,但当我尝试运行该程序时,它给出了这个错误:“未经授权的API访问!”

但是用python抓取效果很好...也许是因为python使用了json?有人能帮我找出我的Swift代码中的错误吗?

这是我的python工作代码:

代码语言:javascript
复制
import requests

headers = {'Referer' : 'https://www.windguru.cz/station/219'}    
r = requests.get('https://www.windguru.cz/int/iapi.php?    q=station_data_current&id_station=219&date_format=Y-m-    d%20H%3Ai%3As%20T&_mha=f4d18b6c', headers = headers).json()
print(r)
print(r['wind_max'])

输出是风。

这是我的快速代码:

代码语言:javascript
复制
import UIKit
import SwiftSoup

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()

        let myURLString = "https://www.windguru.cz/int/iapi.php?    q=station_data_current&id_station=219&date_format=Y-m-    d%20H%3Ai%3As%20T&_mha=f4d18b6c"
        guard let myURL = URL(string: myURLString) else { return }

        do {
            let myHTMLString = try String(contentsOf: myURL,     encoding: .utf8)
            let htmlcontent = myHTMLString
            print(myHTMLString)

            do {
                let doc = try SwiftSoup.parse(htmlcontent)
                do {
                    let element = try doc.select("title").first()
                }
            }

        }catch let error {
            print("error: \(error)")
        }

    }

这会导致API访问错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-05 06:07:00

对于那些想知道答案的人:

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()

    let headers: HTTPHeaders = [
        "Referer" : "https://www.windguru.cz/station/219"
    ]

Alamofire.request("https://www.windguru.cz/int/iapi.php?q=station_data_current&id_station=219&date_format=Y-m-d%20H%3Ai%3As%20T&_mha=f4d18b6c", headers: headers).responseJSON { response in
        debugPrint(response)
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56877092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档