Computercraft POST request“;“无法连接”;

Computercraft POST request“;“无法连接”;,post,curl,lua,computercraft,Post,Curl,Lua,Computercraft,我正在尝试将OAuth 2.0实现到computercraft中,为此,我必须提出以下请求: http.post("https://accounts.google.com/o/oauth2/device/code", "client_id={my id here}&scope=email") 我刚刚收到一个无法连接错误 在做了一些测试之后,我发现http.checkUrl()可以使用这个url,它可以使用终端中的curl和http.get(“https://accounts.googl

我正在尝试将OAuth 2.0实现到computercraft中,为此,我必须提出以下请求:

http.post("https://accounts.google.com/o/oauth2/device/code", "client_id={my id here}&scope=email")
我刚刚收到一个
无法连接
错误

在做了一些测试之后,我发现
http.checkUrl()
可以使用这个url,它可以使用终端中的
curl
http.get(“https://accounts.google.com)
也可以。似乎这不起作用的唯一原因是因为computercraft没有正确处理
POST
请求

奇怪的是
http.get(“https://accounts.google.com/o.oauth2/device/code”
也不起作用,这真让人困惑。虽然这不是一个有效的请求,但它应该会成功响应
{“error”:“Invalid request”}
,当我使用
curl
时,它会这样做


我在这里做错了什么,或者有什么解决办法吗?

根据您的配置,您可能需要启用ComputerCraft HTTP API。或者您可能需要将accounts.google.com域列为白名单。如果启用了白名单,还可以完全禁用白名单

您可以在config\ComputerCraft.cfg文件中找到它的设置

HTTP帖子确实有效。不过我对HTTPS不是100%确定。

用于调试安装程序

使用该选项进行排序

如果仍然不起作用,请更改config\ComputerCraft.cfg中的白名单

whitelist = *

或者,无论OP中提到的配置格式是什么,我都可以请求
https://accounts.google.com
非常好。就是那个特定的url不起作用。@Tuppergion可能是checkUrl跳过了白名单或其他什么。。。我注意到CC不能很好地处理错误响应,您的curl请求是否给出了200?@tuppergion CC Wiki再次启动:checkUrl确实检查了它所说的白名单。但它不尝试连接,防火墙的事情?你可以做一个http.get-anywhere,对吗?是的,checkurl说我试图请求的url是有效的