使用Python将POST发送到PHP

问题描述 投票:0回答:1

我正在尝试将便携式计算机上的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,并且看不到数据库中有插入。

我可能只需要一双新鲜的眼睛。

谢谢

python php
1个回答
0
投票

对于遇到与我相同的问题的人,我可以通过在我的发帖请求中添加标头来解决它,如下所示:

import requests

url = 'http://******.com/***/test.php'
query = {'site': 'test'}

res = request.post(url, query, headers={"User-Agent": "Firefox/12.0"})
print(res)
© www.soinside.com 2019 - 2024. All rights reserved.