Yandex Weather API 中的 403 禁止

Posted

技术标签:

【中文标题】Yandex Weather API 中的 403 禁止【英文标题】:403 Forbidden in Yandex Weather API 【发布时间】:2017-05-18 12:11:45 【问题描述】:

我需要创建一些应用程序。这个应用程序显示天气预报。谷歌天气 API 不见了。但是 Yandex 有这个 API。我的代码是正确的,但是使用这个 api 我有一些问题。在示例中写入:https://api.weather.yandex.ru/v1/forecast?geoid=213&l10n=true。但是这个例子返回 403.https://api.weather.yandex.ru/v1/forecast?geoid=2&lang=ru_RU 也返回 403。但是一旦它返回预测然后它返回 403。

【问题讨论】:

tech.yandex.ru/weather/doc/dg/concepts/about-docpage - Yandex 天气 API 文档。 【参考方案1】:

如果您使用HttpURLConnection,可能会缺少一些标头参数(如content-typeencoding)。并且可能HttpURLConnection 应该配置为setRequestMethod("GET"); 或类似的东西:HTTP 身份验证、代理、Cookie 等等(看看Official Documentation)。

【讨论】:

我使用改造。但我说:代码正在运行。当我尝试手动输入链接(不是来自代码)时,我有 403 :( 当我尝试从代码中获取预测时,我有 NullPointerException,因为 yandex 天气返回 403 您的两个链接都在工作,所以问题在于连接设置 (content-type)。你使用https 而不是http?或者"User-agent"的价值是什么? 我使用 https。你是什​​么意思:“用户代理”? http header has many fields 并且应该正确配置它们以访问(例如"Content-Type")。

以上是关于Yandex Weather API 中的 403 禁止的主要内容,如果未能解决你的问题,请参考以下文章

Yandex Translator Api 使用到 vb.net

python [yandex api] yandex api

无法从 Flutter 中的 Open Weather API 获取数据

如何使用 Yandex Disk c# Api

如何使用 sql 表中的坐标作为 Weather URL API SSIS 脚本中的参数输入?

API 密钥无效 Yandex Translate