我正在尝试将简单数据从笔记本电脑上的 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)

肥皂起泡泡
TA贡献1829条经验 获得超6个赞
你的错误在这里: res = request.post(url, query) >> 你必须使用 requests 而不是 request 你忽略了“s”字符
- 2 回答
- 0 关注
- 159 浏览
添加回答
举报
0/150
提交
取消