开发者社区> 问答> 正文

python发送post数据给php服务端

已知php服务器的1.php可以通过外网浏览器访问成功,
python端:
import requests
def send_str_server():

payload = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://xxx.xx.xxx.xx:80/car/1.php",
                  data=payload)

send_str_server();

php端:
$input = file_get_contents('php://input');
var_dump($input);
$arr = json_decode($input,true);
echo $arr['key1'];
php端完全接收不到,打开页面浏览器都不刷新

展开
收起
zv__vaa 2018-03-29 13:24:22 3539 0
2 条回答
写回答
取消 提交回答
  • 首先建议你打印一下 python 中得到的返回 r,看看这个返回的code和body是什么。
    php服务用于接受请求的web服务一般是 nginx 或者 Apache,都有日志可以查,到对应的日志中查找有没有请求进入。
    如果有请求日志,但是结果不对,那么可能是 nginx 把请求转发到php处理的过程没有配置好。

    2019-07-17 22:03:41
    赞同 展开评论 打赏
  • php服务端一般会有个nginx做代理,请检查access.log是否有本次访问。如果有,说明请求已经来到服务端,那基本就是因为你提交post请求的时候没有设置正确的content-Type导致数据无法被服务端正确解析。

    2019-07-17 22:03:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
阿里云栖开发者沙龙PHP技术专场-深入浅出网络编程与swoole内核-吴镇宇 立即下载
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载