在 php 脚本中执行 curl 命令并从服务器获取响应并提取它

Posted

技术标签:

【中文标题】在 php 脚本中执行 curl 命令并从服务器获取响应并提取它【英文标题】:execute curl command inside php script and get response from server and extract it 【发布时间】:2014-01-14 06:14:06 【问题描述】:

我想验证 android paypal 支付的证明 为此,我想执行这段代码:

    curl https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails \
 -H "X-PAYPAL-SECURITY-USERID: user_id" \
 -H "X-PAYPAL-SECURITY-PASSWORD: password" \
 -H "X-PAYPAL-SECURITY-SIGNATURE: signature" \
 -H "X-PAYPAL-REQUEST-DATA-FORMAT: NV" \
 -H "X-PAYPAL-RESPONSE-DATA-FORMAT: NV" \
 -H "X-PAYPAL-APPLICATION-ID: APP-91B933855X481767M" \
 -d "payKey=AP-70M68096ML426802W&requestEnvelope.errorLanguage=en_US"

由于我只是 php 的初学者,如何在 php 脚本中运行此命令并收到响应

你能把我链接到一些例子吗

谢谢

【问题讨论】:

【参考方案1】:
$http_header = array(
    "X-PAYPAL-SECURITY-USERID: user_id",
    "X-PAYPAL-SECURITY-PASSWORD: password",
    "X-PAYPAL-SECURITY-SIGNATURE: signature",
    "X-PAYPAL-REQUEST-DATA-FORMAT: NV",
    "X-PAYPAL-RESPONSE-DATA-FORMAT: NV",
    "X-PAYPAL-APPLICATION-ID: APP-91B933855X481767M"
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://svcs.sandbox.paypal.com/AdaptivePayments/PaymentDetails");
curl_setopt($ch, CURLOPT_HTTPHEADER, $http_header );
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "payKey=AP-70M68096ML426802W&requestEnvelope.errorLanguage=en_US");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true);

$html = curl_exec ($ch);
echo $html;

【讨论】:

谢谢它有效,但我有这个错误:注意:curl_setopt(): CURLOPT_SSL_VERIFYHOST 不再接受值 1,将在此行中使用值 2:curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true );

以上是关于在 php 脚本中执行 curl 命令并从服务器获取响应并提取它的主要内容,如果未能解决你的问题,请参考以下文章

在终端中查看 php 脚本执行

centos根据php的curl请求post过来的参数执行对应的sh脚本

在 Python 脚本中执行 curl 命令

在 PHP 中使用 curl 访问 REST API 时出现错误 401

如何在bash脚本中执行存储在heredoc中的curl命令?

php如何执行linux的curl指令