搜索

首页  >  问答  >  正文

php - file_get_contents实现POST数据,https

如题,不考虑curl的方法,POST给接口数据,可是接口获取不到或者一直返回参数有问题。

贴一下代码:

    $POSTFIELDS = array("receipt-data" => $receipt_data);    //
    $POSTFIELDS = json_encode($POSTFIELDS);    // 注释了也没用
    $url = "https://sandbox.itunes.apple.com/verifyReceipt";

    $context = stream_context_create(array(
        'http' => array(
            'method'  => 'POST',
            'header'  => "Content-type: application/x-www-form-urlencoded",
            'content' => http_build_query($POSTFIELDS),
            'timeout' => 20,
        )
    ));
    return file_get_contents($url, false, $context);

$receipt_data数据格式是正确的,因为用curl测试可以返回正确信息。

但是file的话,无论如何总是返回参数不对,不知道哪里的问题。

给我你的怀抱给我你的怀抱2778 天前709

全部回复(3)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-05-27 17:44:27

    楼上说的是没错,针对这个问题,其实是跟苹果支付接口交互,传输数据的时候出错了。

    http_build_query不需要

    回复
    0
  • 某草草

    某草草2017-05-27 17:44:27

    先看看服务端获取到的是什么。。。你这个传的是json?然后又是表单格式的POST。。。没有key=>value,后端能取到的也只能是json格式的字符串

    回复
    0
  • ringa_lee

    ringa_lee2017-05-27 17:44:27

    HTTPS 需要开启SSL
    获取这个可以帮到你
    http://www.jb51.net/article/4...

    回复
    0
  • 取消回复