我必须在Python中使用urllib.request来使用POST方法,并为POST方法编写了以下代码。
values = {"abcd":"efgh"}
headers = {"Content-Type": "application/json", "Authorization": "Basic"+str(authKey)}
req = urllib.request.Request(url,values,headers=headers,method='POST')
response = urllib.request.urlopen(req)
print(response.read())
我可以使用'GET'和'DELETE',但不能'POST'。可以任何人帮助我解决这个? 谢谢
答案 0 :(得分:2)
您可以使用请求模块。
import requests
...
url="https://example.com/"
print url
data = {'id':"1", 'value': 1}
r = requests.post(url, data=data)
print(r.text)
print(r.status_code, r.reason)
答案 1 :(得分:0)
您可以在不安装任何其他软件包的情况下发送呼叫。
使用您的输入数据和URL调用此函数。函数将返回响应。
from urllib import request
import json
def make_request(input_data, url):
# dict to Json, then convert to string and then to bytes
input_data = str(json.dumps(input_data)).encode('utf-8')
# Post Method is invoked if data != None
req = request.Request(url, data=input_data)
return request.urlopen(req).read().decode('utf-8')