发送带有数据的 POST 请求时出错
Error while sending POST request with data
我试图创建程序来在这个网站上创建帐户:https://www.kostkuj.cz/register
我的主要问题是我真的不知道它是如何工作的,所以我根据我的要求重新构建了一个项目。
我还尝试将登录数据作为解析文本发送请求:
email: "email@gmail.com"
plainPassword: {first: "pass1", second: "pass1"}
first: "pass1"
second: "pass1"
username: "username3"
但是我不知道我做错了什么。
这是我的全部代码:
import requests
headers = {
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
register_data = {
{"username":"username3","email":"email@gmail.com","plainPassword":{"first":"pass1","second":"pass1"}}
}
with requests.Session() as s:
url = 'https://api.kostkuj.cz/register'
r = s.get(url, headers=headers)
r = s.post(url, data=register_data, headers=headers)
print(r.content)
我收到如下错误:
Traceback (most recent call last):
File "C:\Users\jiris\Desktop\spamkostkuj.py", line 9, in <module>
{"username":"username3","email":"email@gmail.com","plainPassword":{"first":"pass1","second":"pass1"}}
TypeError: unhashable type: 'dict'
给你:
r = s.post(url, json=register_data, headers=headers)
首先 headers
需要成对的 ro,即键值对。在你的情况下是这样的:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
其次,您发送的数据是不正确的,而是发送 dict
,例如:
register_data = {"username":"username3","email":"email@gmail.com","plainPassword":{"first":"pass1","second":"pass1"}}
试试这个。希望对你有用。
我试图创建程序来在这个网站上创建帐户:https://www.kostkuj.cz/register 我的主要问题是我真的不知道它是如何工作的,所以我根据我的要求重新构建了一个项目。
我还尝试将登录数据作为解析文本发送请求:
email: "email@gmail.com"
plainPassword: {first: "pass1", second: "pass1"}
first: "pass1"
second: "pass1"
username: "username3"
但是我不知道我做错了什么。
这是我的全部代码:
import requests
headers = {
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
register_data = {
{"username":"username3","email":"email@gmail.com","plainPassword":{"first":"pass1","second":"pass1"}}
}
with requests.Session() as s:
url = 'https://api.kostkuj.cz/register'
r = s.get(url, headers=headers)
r = s.post(url, data=register_data, headers=headers)
print(r.content)
我收到如下错误:
Traceback (most recent call last):
File "C:\Users\jiris\Desktop\spamkostkuj.py", line 9, in <module>
{"username":"username3","email":"email@gmail.com","plainPassword":{"first":"pass1","second":"pass1"}}
TypeError: unhashable type: 'dict'
给你:
r = s.post(url, json=register_data, headers=headers)
首先 headers
需要成对的 ro,即键值对。在你的情况下是这样的:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36 OPR/63.0.3368.71'
}
其次,您发送的数据是不正确的,而是发送 dict
,例如:
register_data = {"username":"username3","email":"email@gmail.com","plainPassword":{"first":"pass1","second":"pass1"}}
试试这个。希望对你有用。