gpt4 book ai didi

php - 无法通过 PHP 接收 cURL 数据

转载 作者:太空宇宙 更新时间:2023-11-03 15:50:38 25 4
gpt4 key购买 nike

好的,我正在尝试将 Paypal 与我的网站集成。它要求我向 Restful Web 服务发出 cURL 请求。我设法让 php 看起来不错。我知道这是基本的,但它应该有效。

if(etc...){
$params = ['USER'=>'me',
'PWD'=>'mypassword',
'SIGNATURE'=>'SIG',
'METHOD'=>'SetExpressCheckout',
'VERSION'=>'93',
'PAYMENTREQUEST_0_PAYMENTACTION'=>'SALE',
'PAYMENTREQUEST_0_AMT'=>10,
'PAYMENTREQUEST_0_CURRENCYCODE'=>'GBP',
'RETURNURL'=>'http://returnPage.html',
'CANCELURL'=>'http://returnPage.html'];

$defaults = array(CURLOPT_URL => 'http://api.sandbox.paypal.com',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => http_build_query($params),
CURLOPT_RETURNTRANSFER, 1,);

$ch = curl_init();

curl_setopt_array($ch, $defaults);

$output = curl_exec($ch);

curl_close($ch);

$token = $output;
}

echo $token

问题是由于某种原因返回的输出是错误的,我浏览器上的网络选项卡显示对 php 文件的请求需要很长时间。实际上在测试所有其他代码时都有效,但 php 文件不返回任何数据。如果我离开它一段时间,有时它会返回 false 而不是 cURL 数据。

任何关于我哪里出错的想法都将不胜感激。

编辑:

在命令提示符下通过 cURLing 测试我的凭据时,一切正常。我的 PHP 中没有错误,是否有一种方法可以诊断为什么 cURL 命令不起作用。

编辑 2:

获得响应所需的命令是

curl -s --insecure  https://api-3t.sandbox.paypal.com/nvp  -d  "USER=users&PWD=pass=Abg0gYcQyxQvnf2HDJkKtA-p6pqhA1k-KTYE0Gcy1diujFio4io5Vqjf&METHOD=SetExpressCheckout&VERSION=78&PAYMENTREQUEST_0_PAYMENTACTION=SALE&PAYMENTREQUEST_0_AMT=19&PAYMENTREQUEST_0_CURRENCYCODE=USD&cancelUrl=http://www.example.com/cancel.html&returnUrl=http://www.example.com/success.html"

我不知道 --insecure 位是什么我认为它与安全有关,但我不知道如何将其设置为 php 中的选项。

最佳答案

问题出在这一行:

CURLOPT_RETURNTRANSFER, 1,);

这一行应该是

CURLOPT_RETURNTRANSFER=> 1);

在 1 之后添加 => 并删除 ,

将 url 协议(protocol)更改为 https 并添加选项 CURLOPT_SSL_VERIFYPEER=>1

关于php - 无法通过 PHP 接收 cURL 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31764744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com