使用Python进行Yggdrasil认证
我决定试着为Minecraft制作一个自动登录的脚本。不过,新的认证API让我感到困惑。我在这里找不到关于这个新功能的任何信息。这是我目前的代码:
import requests
import json
data = json.dumps({"agent":{"name":"Minecraft","version":1},"username":"abcdef","password":"abcdef","clientToken":""})
headers = {'Content-Type': 'application/json'}
r = requests.post('https://authserver.mojang.com', data=data, headers=headers)
print (r.text)
不幸的是,这段代码返回了:
{"error":"Method Not Allowed","errorMessage":"The method specified in the request is not allowed for the resource identified by the request URI"}
根据这个关于请求格式的资源,这个错误意味着我没有正确发送一个POST请求。不过,我已经明确写了requests.post()
,所以我第一个问题是我哪里出错了,正确的做法应该是什么?
我的第二个问题是,因为我对Python和JSON还比较陌生,我该如何在一个变量中用自己的数据替换用户名和密码字段呢?
1 个回答
1
你在发送POST请求时没有指定一个具体的地址,比如:
https://authserver.mojang.com/authenticate
网站的根目录可能不接受POST请求。