使用python请求发送多个值

2024-10-03 23:22:08 发布

您现在位置:Python中文网/ 问答频道 /正文

早上好, 一旦我使用了提交只有一个值/参数的web表单的请求。但是现在我必须提交一个包含多个值的web表单,但是它没有提交,并且打印(r.status_code,r.reason)是200,好吗。没有任何错误。我查了很多遍,但不明白出了什么问题。这是我的密码。在

import requests

payload = {'to':'anyemail@xx.com','from':'anyemail@xx.com','message':'sent from python','subject':'sent from python'}
r = requests.post("http://www.website.com/send.php",data=payload)
print('Email sent successfully!')    
print(r.status_code, r.reason)
print(r.text)
print(r.content)

网页代码


Tags: fromcomweb表单参数status错误code
2条回答

很多时候,您希望发送的数据不是表单编码的。如果传入字符串而不是dict,则使用json.dumps文件(有效载荷)

import requests,json

payload = {'to':'anyemail@xx.com','from':'anyemail@xx.com','message':'sent from python','subject':'sent from python'}
r = requests.post("http://www.website.com/send.php",data=json.dumps(payload))
print('Email sent successfully!')    
print(r.status_code, r.reason)
print(r.text)
print(r.content)

可以尝试设置内容类型:

url = '.....'
payload = {'to':'anyemail@xx.com','from':'anyemail@xx.com','message':'sent from python','subject':'sent from python'}
headers = {'content-type': 'application/x-www-form-urlencoded'}

r = requests.post(url, data=payload, headers=headers)

内容类型定义了web服务器如何解释您的post数据。 确保使用的内容类型正确。在

相关问题 更多 >