[英]Sending POST with Python to PHP
我正在嘗試將簡單數據從筆記本電腦上的 python 腳本發送到托管在 hostgator 上的我自己的網站,但我無法讓它工作。
這是我的python腳本:
import requests
url = 'http://******.com/***/test.php'
query = {'site': 'test'}
res = request.post(url, query)
print(res)
這是在我的網站上運行的 php:
<?php
$servername = "localhost";
$username = "*****";
$pass = "*****";
$dbname = "*****";
?>
<?php
if($_REQUEST["site"]){
$site = htmlspecialchars($_REQUEST["site"]);
echo "Success";
{
//Create connection
$conn = new mysqli($servername, $username, $pass, $dbname);
//Check connection
if ($conn -> connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO accounts (SITE) VALUES ('$site')";
if($conn->query($sql) === TRUE) {
echo "Record added successfully";
} else {
echo "Error: " . $sql . $conn->error;
}
$conn->close();
}
}
?>
問題不應該出在數據庫連接上,因為我已經對此進行了測試,並且似乎可以正常工作。
當我在我的 linux 機器上運行 python 腳本時,我得到響應 406 並且在數據庫中沒有看到任何插入。
我可能只需要一雙新鮮的眼睛。
謝謝
對於遇到與我相同問題的任何人,我通過在我的帖子請求中添加標題來解決它,如下所示:
import requests
url = 'http://******.com/***/test.php'
query = {'site': 'test'}
res = request.post(url, query, headers={"User-Agent": "Firefox/12.0"})
print(res)
你的錯誤在這里: res = request.post(url, query) >> 你必須使用 requests 而不是 request 你忽略了“s”字符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.