【问题标题】:Sending json file through Http Post curl通过 Http Post curl 发送 json 文件
【发布时间】:2017-06-16 18:01:12
【问题描述】:

我一直在使用 Jenkins,现在当我尝试使用 curl 进行 HTTP Post 时我卡住了,我正在发送一个 json 文件到我页面中正在等待它的文件,然后执行一些功能,我使用的代码如下:

curl -X POST -k -i -H "接受:应用程序/json" -w "%{body}" -w "%{http_code}" -d "@/var/lib/jenkins/workspace/myFolder /session.json" http://mypage.com/myFolder/newfile.php

但显然我没有正确发送文件的数据,newfile.php 有这样的东西:

回显 $_REQUEST['sessionId'];

但是当我尝试回显索引 sessionId 时总是出错,我的意思是我的文件“newfile.php”没有从我的 jenkins curl 中得到任何东西,你能帮帮我吗?

提前致谢!!

【问题讨论】:

    标签: php json curl jenkins http-post


    【解决方案1】:

    您发送的 JSON 在请求正文中。 $_REQUEST 数组中的键/值将不可用,因此您会收到错误消息。您需要访问请求正文才能获取 sessionId 属性。

    $requestBody = file_get_contents('php://input');
    $session = json_decode($requestBody);
    $sesionId = $session["sessionId"];
    echo "Session ID: $sessionId";
    

    file_get_contents('php://input') 返回 POST 请求的正文。

    确保在您的发布请求中也添加适当的 Content-Type 标头:

    curl -X POST -k -i -H "Accept: application/json" -H "Content-Type: application/json" -w "%{body}" -w "%{http_code}" -d "@/var/lib/jenkins/workspace/myFolder/session.json" http://mypage.com/myFolder/newfile.php`
    

    【讨论】:

      猜你喜欢
      • 2011-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      • 2014-07-28
      • 1970-01-01
      相关资源
      最近更新 更多