Computercraft POST 请求 "无法连接"

我正在尝试在计算机工艺中实现 OAuth 2.0,为此,我必须进行以下请求:

http.post("https://accounts.google.com/o/oauth2/device/code", "client_id={我的 ID 在此}&scope=email")

但我只是收到一个 无法连接 的错误

经过一些测试,我发现 http.checkUrl() 可以使用这个 URL,终端中使用 curl 也可以,http.get("https://accounts.google.com") 也可以。看起来唯一的原因是计算机工艺不能正确处理 POST 请求。

奇怪的是,http.get("https://accounts.google.com/o.oauth2/device/code") 也无法工作,这真的很令人困惑。虽然这不是一个有效的请求,但当我使用 curl 时,它应该成功地返回 {"error":"Invalid request"},它确实做到了。

我在这里做错了什么,还是有什么办法可以解决?

点赞
用户88888888
用户88888888

根据你的配置,你可能需要启用ComputerCraft HTTP API。或者你可能需要将_accounts.google.com_域名加入到白名单中。如果已经启用了白名单,你也可以完全禁用它。

你可以在_config\ComputerCraft.cfg_文件中找到这些设置。

HTTP请求确实有效。但是HTTPS我不太确定。

2016-05-05 12:16:33
用户5421180
用户5421180

为了调试设置一个 os.PullEvent()

使用 http_failure 进行排序

如果还是不行,修改你的 config\ComputerCraft.cfg 中的白名单

whitelist = *

或者按照配置格式修改。

2016-07-24 00:02:55