使用Python进行Yggdrasil认证

0 投票
1 回答
1779 浏览
提问于 2025-04-18 18:31

我决定试着为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请求。

http://wiki.vg/Authentication#Authenticate

撰写回答