我有一个非常大的POSt数据(超过100 MB)和一个cookie,现在我想通过Python将它发送到服务器,POSt请求在这样的文件中:
a=true&b=random&c=2222&d=pppp
这是我的以下代码,它只发送Cookie但不发送POST内容。
import requests
import sys
count = len(sys.argv)
if count < 3:
print 'usage a.py FILE URL LOGFILE'
else:
url = sys.argv[2]
data= {'file': open(sys.argv[1], 'rb')}
cookies = {'session':'testsession'}
r = requests.get(url, data=data, cookies=cookies)
f = open(sys.argv[3], 'w')
f.write(r.text)
f.close()
代码采用包含POSt数据的File,然后是发送它的URL,然后是存储响应的OUTPUT文件。
注意:我不是要上传文件,而是发送文件内的帖子内容。
答案 0 :(得分:0)
首先你应该使用requests.post
。其次,如果您只想在文件中发布数据,则需要读取文件的内容并将其解析为dict
,因为这是requests.post
期望数据进入的格式。
示例:(注意:只显示相关部分)
import urlparse
import requests
import sys
with open(sys.argv[1], 'rb') as f:
data = urlparse.parse_qs('&'.join(f.read().splitlines()))
r = requests.post(url, data=data, cookies=cookies)