php - file_get_contents实现POST数据,https

查看:379
本文介绍了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的话,无论如何总是返回参数不对,不知道哪里的问题。

解决方案

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

http_build_query不需要

这篇关于php - file_get_contents实现POST数据,https的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆