0

ファイルからデータを投稿しようとすると

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 文字列のようなものを取得します

Content=%3C%3Fphp+echo%28%22Hello+world%22+%29%3B+%3F%3E

それ以外の

<?php echo("Hello world" ); ?>

データをテキストファイルのまま投稿するには?

4

1 に答える 1

2

ドキュメントをよく読むと、次のいずれかのファイル オブジェクトを使用できます。

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)

辞書を渡すと、常に urlencode されるため、これはやりたいことではありません。

于 2013-10-08T00:18:56.437 に答える