Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将POST发送到PHP_Python_Php - Fatal编程技术网

使用Python将POST发送到PHP

使用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

我试图将简单数据从笔记本电脑上的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();
    }
}
?>


对于遇到与我相同问题的任何人,我通过在我的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”]
,可能会有所帮助