如何解决HTTP Post请求Python中的状态401?
我正在尝试用Python发出http post请求。我要发布到的http需要授权。为了安全起见,我替换了真实的url、数据和授权。当我使用正确的url、数据体和授权运行下面的代码时,我得到了状态401。这意味着授权不正确。是否有其他方法可以向http post请求中添加授权、头和正文,以使post成功?授权密码是正确的,可以在Postman中使用,所以它的内容不是问题所在——我想知道格式是否正确。提前谢谢如何解决HTTP Post请求Python中的状态401?,python,http,python-requests,http-headers,http-authentication,Python,Http,Python Requests,Http Headers,Http Authentication,我正在尝试用Python发出http post请求。我要发布到的http需要授权。为了安全起见,我替换了真实的url、数据和授权。当我使用正确的url、数据体和授权运行下面的代码时,我得到了状态401。这意味着授权不正确。是否有其他方法可以向http post请求中添加授权、头和正文,以使post成功?授权密码是正确的,可以在Postman中使用,所以它的内容不是问题所在——我想知道格式是否正确。提前谢谢 import requests from requests.auth import HTT
import requests
from requests.auth import HTTPBasicAuth
def post():
url = 'http://somelongurl'
headers = {'Content-Type': 'application/json'}
auth = HTTPBasicAuth('Authorization', 'PASSWORD')
data = {"ProductID" : "ABCDEFG",
"ClientID": "10000",
"SerialNumber": "1234567890"}
req = requests.post(url, headers=headers, data=data, auth=auth)
return req
通过在标题中包含授权并将数据更改为json类型,解决了这一问题,如下所示:不同的门户可能使用不同的方法,因此如果没有真实的url或文档链接,很难回答此类问题。如果您在
postman
中有可用的解决方案,那么您可以使用postman
中的特殊函数来生成不同语言的代码—它还可以为python生成代码。邮递员文档:如果您在reaquests
中使用json=
,那么它应该自动添加带有application/json