当我尝试从文件
发布数据时headers = {'content-type': 'text/plain'}
files = {'Content': open(os.getcwd()+'\\1.txt', 'rb')}
contentR = requests.post("http://" + domain +"index.php", params=payload, data=files, headers=headers)
我得到的东西就像urlencoded string
Content=%3C%3Fphp+echo%28%22Hello+world%22+%29%3B+%3F%3E
而不是
<?php echo("Hello world" ); ?>
如何在文本文件中发布数据?
答案 0 :(得分:2)
如果您仔细阅读docs,可以使用文件对象:
headers = {'content-type': 'text/plain'}
file = open(os.getcwd()+'\\1.txt', 'rb')
contentR = requests.post("http://" + domain +"index.php", params=payload, data=file, headers=headers)
或者您只需传递一个包含文件内容的字符串,如下所示:
file_contents = open(os.getcwd() + '\\`.txt', 'rb').read()
contentR = requests.post("http://" + domain +"index.php", params=payload, data=file_contents, headers=headers)
如果您传递字典,它将始终是urlencoded,因此这不是您想要做的。