我想從Python 3發送一個簡單的字符串到PHP網站,該網站將其轉換爲.txt文件。我的整個代碼如下所示:無法讓Python 3將POST數據傳輸到PHP
的Python:
import urllib.parse
import urllib.request
str1 = "abcdefg"
url = "http://site.net/post.php"
aa = str1.encode('utf-8')
req = urllib.request.Request(url, aa)
req.add_header('Content-Type', 'this/that')
urllib.request.urlopen(req, data=aa)
PHP:
<?php
$handle = fopen("/dir/".name.".txt", "w");
$myContent = $_POST[aa];
fwrite($handle, $myContent);
fclose($handle);
?>
的Python訪問該網站,一個.txt文件被創建,但該文件是空白。我試過將$_POST
更改爲$_GET
和$_REQUEST
,並在各個地方放置單引號和雙引號圍繞'aa'
。我懷疑Python
和PHP
沒有傳達我希望它解釋的字符串/數據的名稱。
編輯:這個PHP代碼已經處理來自另一個網站的POST數據。
a = {} a["name"] = "ben";
,那麼你需要調用它的urllib.urlencode
a = urllib.urlencode(a)
然後調用的urlopen這樣的:這個問題只能用Python的兼容性
我應該指出,這個PHP代碼已經從其他網站處理POST數據。該問題僅出現在Python兼容性上。 – tqastro