【发布时间】:2023-08-10 11:52:01
【问题描述】:
我正在尝试在 R 中创建一个使用 API 的脚本。在标准cURL 格式中,请求如下所示:
curl --request GET \
--url https://api.test.com/v4/Questions/54949 \
--header 'Accept: application/json' \
--header 'Authorization: Basic XXXX123456789'
当我使用httr 包时,我尝试运行这个请求:
get_data <- GET("https://api.test.com/v4/Questions/54949", add_headers(authorization = 'XXXX123456789'))
但是当我检查get_data 中存储的内容时,我遇到了以下情况:
Response [https://api.test.com/v4/Questions/54949]
Date: 2021-08-03 18:59
Status: 401
Content-Type: application/json; charset=utf-8
Size: 247 B
{
"errors": [
{
"code": "UNAUTHORIZED",
"text": "The request could not be authorized because a session is not present, an Authentication header was n...
}
]
我错过了什么?我运行GET 请求是否错误?
编辑:根据@hobo 的回答,我尝试了:
GET(
"https://api.securevan.com/v4/surveyQuestions/441560",
accept_json(),
add_headers(Authorization = 'Basic 7x99x744-x69x-8956-x44x-4544xx7x7481'))
但我仍然得到相同的响应?
【问题讨论】:
-
抱歉,没有注意到您更新了问题。我现在很确定您的代码与原始问题匹配,因此我只是使用您上次更新的 Authorization 标头运行 cURL。它返回 HTML,而不是 JSON。该 HTML 包含“DOSarrest Internet Security”,因此您可能已经触发了该站点的 DDoS 保护。也许您的帐户已被禁用?虽然它帮助我检查,但发布实际的 Auth 凭据可能不是一个好主意 - 这就像发布您的用户名和密码一样。