为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Python 向 PHP 发送 POST

使用 Python 向 PHP 发送 POST

PHP
慕桂英4014372 2022-10-22 15:45:09
我正在尝试将简单数据从笔记本电脑上的 python 脚本发送到我自己托管在 hostgator 上的网站,但我无法让它工作。这是我的python脚本:import requestsurl = 'http://******.com/***/test.php'query = {'site': 'test'}res = request.post(url, query)print(res)这是在我的网站上运行的 php:<?php$servername = "localhost";$username = "*****";$pass = "*****";$dbname = "*****";?><?phpif($_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 并且在数据库中看不到任何插入。我可能只需要一双新鲜的眼睛。
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

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


import requests


url = 'http://******.com/***/test.php'

query = {'site': 'test'}


res = request.post(url, query, headers={"User-Agent": "Firefox/12.0"})

print(res)


查看完整回答
反对 回复 2022-10-22
?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

你的错误在这里: res = request.post(url, query) >> 你必须使用 requests 而不是 request 你忽略了“s”字符



查看完整回答
反对 回复 2022-10-22
  • 2 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号