我不想使用html
文件,但只有使用Django时,我才需要制作POST请求。
就像urllib2
发送get
请求一样。
以下是使用python-requests
编写被接受答案示例的方法:
post_data = {'name': 'Gladys'}
response = requests.post('http://example.com', data=post_data)
content = response.content
更加直观易懂。请参阅Quickstart以获取更简单的示例。
在Python 2中,结合 urllib2
和 urllib
的方法可以完成这个任务。以下是我使用这两个方法来发布数据的示例:
post_data = [('name','Gladys'),] # a sequence of two element tuples
result = urllib2.urlopen('http://example.com', urllib.urlencode(post_data))
content = result.read()
urlopen() 是用于打开 URL 的方法。 urlencode() 将参数转换为百分号编码的字符串。
请注意,当您使用 requests
并在 data
参数中传递字典以进行 POST
请求时:
原始答案翻译成“最初的回答”。
payload = {'param1':1, 'param2':2}
r = request.post('https://domain.tld', data=payload)
payload = {'param1':1, 'param2':2}
r = request.post('https://domain.tld', data=json.dumps(payload))`
文档在这里
或者:
只需在dict
中提供数据,使用json
参数即可。
payload = {'param1':1, 'param2':2}
r = request.post('https://domain.tld', json=payload)`
pip install requests
安装该库,然后在您的程序中引入 import requests
。 - Deepstop