2016-12-17 75 views
0

POST數據Python的多不工作

POSTDATA =-----------------------------204994970613471446171879029128 
Content-Disposition: form-data; name="f"; filename="shell.php" 
Content-Type: application/x-php 

<?php 
echo("oi"); 
?> 
-----------------------------204994970613471446171879029128 
Content-Disposition: form-data; name="v" 

up 
-----------------------------204994970613471446171879029128-- 

FORM

<form method=post enctype=multipart/form-data><input type=file name=f><input name=v type=submit id=v value=up> 

PYTHON

import requests 
try: 
    files = {"f": open("page.php", "rb"),"v":"up"} 
    r = requests.post("http://soportetecnico.nixiweb.com/up.php", files=files, headers={"Content-type": "application/x-php"}) 
    print r.text 
except Exception as e: 
    print e 

我需要發送一個PHP文件用python上傳? 我不知道我做錯了什麼。 預先感謝救命=]

回答

2

你應該分開files和您的要求data

import requests 
try: 
    files = {"f": open("page.php", "rb")} 
    values = {"v":"up"} 
    r = requests.post("http://soportetecnico.nixiweb.com/up.php", files=files, data=values, headers={"Content-type": "application/x-php"}) 
    print r.text 
except Exception as e: 
    print e 
+0

謝謝,但仍然沒有工作=/ –

+0

@LeandroCampos,嘗試打開'php'文件一樣簡單文本'{「f」:open(「page.php」)}',而不是字節。同樣的結果? – Andersson

+0

@LeandroCampos什麼是不工作?你得到了什麼?任何錯誤?什麼是迴應? – Dekel