通过Python将数据发送到PHP

时间:2019-07-12 21:07:12

标签: php python post get

在通过python将数据发送到PHP脚本时遇到了麻烦

如果我尝试使用浏览器,则发布数据,但是如果我尝试使用python脚本,则不发布任何数据,也不会显示错误

我尝试使用标头,使用get而不是post

PHP:

$q = @$_GET['q'];
if($q) {
   $sql = "INSERT INTO data VALUES ('', '".$q."')";
   if (mysqli_query($conn, $sql)) {
      echo "Posted";
   } else {
      echo "cannot post";
   }
}

PYTHON:

import requests
payload = {'q': 'some-data'}
r = requests.post('http://example.com/store.php', params=payload)

1 个答案:

答案 0 :(得分:0)

您的Python requests方法需要与PHP脚本用于处理数据的方法相匹配。

您当前在Python脚本中使用 POST 方法-requests.post()-尝试检索以$ _ GET结尾的PHP查询字符串中发送的数据()。那行不通。

您需要保持一致...

在您的python脚本中使用“ GET”请求:

r = requests.get('http://example.com/store.php', params=payload)

然后您可以使用PHP使用以下数据处理数据:

$q = $_GET['q'];

顺便说一句,一些免费的建议,不要使用@来抑制PHP中的错误,这是一个坏习惯。