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

带有 json 数据的 Python HTTP 请求没有得到带有 json 数据的 php 响应

带有 json 数据的 Python HTTP 请求没有得到带有 json 数据的 php 响应

PHP
天涯尽头无女友 2021-07-13 17:01:52
我正在尝试将带有一些 json 数据的 python http 请求(稍后我将使用此 json 数据)发送到服务器。服务器应该给出一些 json 数据的响应(使用 PHP)。不幸的是,即使请求状态代码为 200,也没有任何响应。请提供任何帮助!#request.pyimport requestsimport urllib3import jsonimport osimport timeimport sys#http Requesturl = 'http://localhost/response.php'headers = {'Content-type': 'application/json', 'Accept': 'application/json'}while True:    postMessage = '{"Info": {"ID": 1, "IP": "192.168.1.1"}}'    response = requests.post(url, json=postMessage, headers=headers)    #trying to decode the response    try:        decodedresponse = json.loads(response.text)         print(decodedresponse)    except(ValueError, KeyError, TypeError):        print("some Error")#always getting the above print statement!    break#response.php<?phpif(!empty($_POST['json'])){  $data = [ 'a', 'b', 'c' ];    header('Content-type:application/json;charset=utf-8');  echo json_encode($data);} ?>
查看完整描述

2 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

您应该删除分配给postMessage您的引号:


postMessage = {"Info": {"ID": 1, "IP": "192.168.1.1"}}

并将您的 php 代码更改为:


<?php

$data = file_get_contents("php://input");

header('Content-type:application/json;charset=utf-8');

echo json_encode($data);

?>


查看完整回答
反对 回复 2021-07-16
?
慕虎7371278

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

检查您的 $_POST 结构。


<?php

if(!empty($_POST['Info'])){

   $data = [ 'a', 'b', 'c' ];  

   echo json_encode($data);

 }

 else{

     echo json_encode(ison_decode($_POST, TRUE));

 }


查看完整回答
反对 回复 2021-07-16
  • 2 回答
  • 0 关注
  • 160 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信