使用Python将POST发送到PHP
我试图将简单数据从笔记本电脑上的python脚本发送到hostgator上托管的我自己的站点,但我无法让它工作 这是我的python脚本:使用Python将POST发送到PHP,python,php,Python,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"; $us
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();
}
}
?>
对于遇到与我相同问题的任何人,我通过在我的post请求中添加标题来解决它,如下所示:
import requests
url = 'http://******.com/***/test.php'
query = {'site': 'test'}
res = request.post(url, query, headers={"User-Agent": "Firefox/12.0"})
print(res)
如果您在post请求后收到$\u请求[“site”]
,请尝试在php代码中添加else
块进行调试。我的第二个问题是,在使用脚本时,我收到了406个响应,因此我无法查看服务器的实际响应。我要求更新服务器本身的php代码,以查看您是否可以读取$\u请求[客户端的“site”]
。如果您可以尝试阅读php代码中的$\u POST[“site”]
,可能会有所帮助