dou8mwz5079 2015-12-07 18:33
浏览 46
已采纳

使用带数组的file_get_contents发布请求

Im trying post a request via file_get_contents but i'm getting error 500, i'm doing this:

   $params = array("pid" => "000209", "main_widget_pid" => "000209");

    $array = array("method" => "bottomline","params" => $params);

    $url = 'http://example.com/test';
    $data = array('app_key' => '8948a6aa12a1a23Yzglj17QO91Geg', 'methods' => $array);

    $options = array(
        'http' => array(
            'header'  => "Content-type: application/x-www-form-urlencoded
",
            'method'  => 'POST',
            'content' => http_build_query($data),
        ),
    );

$context  = stream_context_create($options); 
$result = file_get_contents($url, false, $context);
var_dump($result);

I believe the problem is in the structure of arrays. But I can not see the problem.

Can anyone give me a way?

  • 写回答

1条回答 默认 最新

  • dsp15140275697 2015-12-07 19:30
    关注

    Try this patch:

    $data = array('app_key' => '8948a6aa12a1a23Yzglj17QO91Geg', 'methods' => $array);
    $http_data = http_build_query($data);
    
    $options = array(
        'http' => array(
            'header'  => "Content-type: application/x-www-form-urlencoded
    "
                  . "Content-Length: " . strlen($data) . "
    ",
            'method'  => 'POST',
            'content' => $http_data,
        ),
    );
    

    Content-length header is important I guess.

    Also $options looks like:

    array (
      'http' => 
      array (
        'header' => 'Content-type: application/x-www-form-urlencoded
    ',
        'method' => 'POST',
        'content' => 'app_key=8948a6aa12a1a23Yzglj17QO91Geg&methods[method]=bottomline&methods[params][pid]=000209&methods[params][main_widget_pid]=000209',
      ),
    )
    

    Make sure, that it should be like this.

    Error 500 in php means you got fatal exception in your script, after passing it this $options. Maybe you should debug what's wrong there...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘