php中curl怎么处理得到的response有样式代码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中curl怎么处理得到的response有样式代码相关的知识,希望对你有一定的参考价值。

参考技术A 楼主完全可以到后盾人那里解决掉这个问题的,那里有很多专家录制的视频教学,我现在也在那里学习

使用 php curl 对 paypal api 没有响应

【中文标题】使用 php curl 对 paypal api 没有响应【英文标题】:No response on paypal api with php curl 【发布时间】:2021-06-30 03:48:31 【问题描述】:

我正在尝试从 PayPal api 获取有关使用 php 和 cURL 的订单的响应。这是我的代码,我当然已经替换了令牌,这不是这里的问题。 使用以下命令,我的终端中一切正常,我不明白为什么它不起作用。 (如果我执行var_dump($response),我会得到string(0) ""

代码:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,"https://api-m.sandbox.paypal.com/v2/checkout/orders/".$_GET['transacid']);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $headers = [
        "Content-Type: application/json",
        "Authorization: Bearer my_oauth_token"
    ];
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    $response= curl_exec($ch);
    curl_close($ch);
    var_dump($response);

还有,CLI 命令:

curl -v -X GET https://api-m.sandbox.paypal.com/v2/checkout/orders/my_order_id\
-H "Content-Type: application/json" \
-H "Authorization: Bearer my_oauth_token"

我认为我可以使用 exec() 获得结果,但它确实不干净,尤其是使用 GET 变量。

谢谢!

【问题讨论】:

只是一个可能不相关的注释,但在终端中,您正在执行 GET 请求,而在 php 端您正在执行 POST 请求(参见设置为 1 的 CURLOPT_POST)。因此,您还没有执行相同类型的请求。首先这样做,然后如果需要,我们可以进一步排除故障。 呃,我太笨了......它有效! 很高兴我的评论有所帮助。现在,作为 *** 的好伙伴,我建议将您的问题标记为已解决。最后,您还可以将我的答案标记为有帮助的答案。 【参考方案1】:

(评论后作为答案发布)

只是一个可能不相关的评论,但在终端中,您正在执行 GET 请求,而在 php 端您正在执行 POST 请求(参见设置为 1 的 CURLOPT_POST)。因此,您还没有执行相同类型的请求。首先这样做,然后如果需要,我们可以进一步排除故障。最终,这可能是导致您的问题的唯一原因。

【讨论】:

以上是关于php中curl怎么处理得到的response有样式代码的主要内容,如果未能解决你的问题,请参考以下文章

PHP Curl出现403错误怎么办

使用 php curl 对 paypal api 没有响应

如何在php中解码从curl产生的json文件

在php 的curl函数来GET一个地址,得到的响应是一个json文件,怎么来操作这个文件

Paypal 使用 php curl 使用支付密钥获取交易详情

PHP CURL 没有正确处理编码的返回数据