2
我是Python新手,它是第一篇文章。想要上傳一個TXT文件到服務器,(到目前爲止,它是本地主機)。每次我運行腳本,本地文件上傳並更新到服務器上。我使用Requests模塊上傳到服務器的Python腳本
import requests, time
url ='http://192.168.49.205/test/database/data.txt' # where i want to write
files = {'file':('data.txt','C:\Python27\data.txt','rb')}
#r = requests.post(url,files=files) # this works too
r= requests.post('http://192.168.49.205/test/database/data.txt',
data={'upload_type': 'standard', 'upload_to': '0'},files=files)
print r.status_code
print r.text
data.txt
沒有更新。只是看到舊的數據(我創建文件時,我把一些值)。我沒有使用PHP或HTML中的任何表單。可以用方法上傳嗎?
相信,我得到了一些清晰張貼的問題後。現在,服務器端的PHP文件正在偵聽客戶端。這是「post.php」。所以,這將取代客戶端的文本文件。 PHP文件從客戶端得到的名稱,任務,價值和張貼到服務器上的「A.TXT」(本地)
<?php
if(isset($_GET["Name"])){
$name=$_GET["Name"];
}
if(isset($_GET["Task"])){
$task=$_GET["Task"];
}
if(isset($_GET["Value"])){
$value=$_GET["Value"];
}
$f=fopen("a.txt","w") or exit("Unable to open file!");
fwrite($f,$name);
fwrite($f," ");
fwrite($f,$task);
fwrite($f," ");
fwrite($f,$value);
fclose($f);
?>`
所以現在請這個樣子
import requests, time
url = 'http://192.168.49.205/test/test.php'
post_data = {'Name':'job','Task':'008','Value':'8'}
r= requests.post('http://192.168.49.205/test/post.php', data= post_data)
print r.status_code
print r.text
史迪威的值沒有達到「A.TXT」。我錯過了什麼?請指教!
錯誤可能是在服務器端。 – Matthias
'http:// 192.168.49.205/test/database/data.txt'是否接受'POST'請求?在那裏聽什麼樣的服務? – 2013-11-20 14:39:09
data.txt是純文本文件。不要想,它需要POST請求或聽。在你的問題後,我明白了。所以,服務器文件應該是接受POST請求的PHP文件。請承擔我的無知。 – Chandra