【问题标题】:Not getting cURL response没有得到 cURL 响应
【发布时间】:2014-04-28 15:40:02
【问题描述】:

当我使用标题时:

$url='http://test.com/pay?login=160&pass=Test@123&ttype=NBFundTransfer&prodid=NSE&amt=50&txncurr=INR&txnscamt=0&clientcode=TkFWSU4%3d&txnid='.$string.'&date='.$date.'&custacc=1234567890&udf1=ajeesh&udf2=test@ttr.com';

header ('Location :'.$url);

我得到了这个 XML:

<MMP>
<MERCHANT>
<RESPONSE>
<url>http://test.com/pay</url>
<param name="ttype">NBFundTransfer</param>
<param name="tempTxnId">267040</param>
<param name="token">
r2X%2BE87UUszWqAz1xyWLJBlRhLuq7%2B3NdKTuhOb%2BbVw%3D
</param>
<param name="txnStage">1</param>
</RESPONSE>
</MERCHANT>
</MMP>

作为回应。我想对curl 做同样的事情。所以我尝试了:

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
$auth = curl_exec($curl);
echo $auth

$url 是上面那个。

但是当我echo $auth 时,我得到的只是1 作为响应,而我没有得到 XML。为什么会这样。我在做什么有什么问题吗?

【问题讨论】:

  • 添加这个:curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  • 我用这个的时候,1没了。现在出现一个空白页
  • 尝试使用http://www.google.com 等简单的网址进行测试。正如 Rolice 在评论中提到的那样,在 echo 行的末尾添加一个分号 (;)。当您进行这些更改时,您看到输出了吗?
  • 我有分号。那是一个类型错误。但仍然。我什么都做不了..也没有显示错误
  • 请参阅this answer,其中似乎包含使用相同 API 的示例。看起来您需要以POST 的形式发送您的请求。在没有看到 API 的确切规范/文档的情况下,这是我能为您做的最好的事情。

标签: php curl get


【解决方案1】:

您缺少一个选项CURLOPT_RETURNTRANSFER,试试这个

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); //this line
$auth = curl_exec($curl);
echo $auth;

【讨论】:

  • 谢谢,但我试过了。但我得到一个空白的回复
  • 给出一些解释和答案。此选项是什么以及它如何影响流程。这样,提出问题的人就会理解解决方案。 @Piya,我在echo $auth 看到缺少; - 如果之后还有其他代码,那么它将无法正常工作。
  • @Rolice 使用print_r(curl_error($curl)); 找出原因。
  • @LozCherone,我不是发布问题的人......我只是留下一些回答的指南,这就是为什么我不需要print_r:D
  • 我只是要投票支持您的社区支持:P +1 对改进的答案。
猜你喜欢
  • 2021-06-30
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-29
  • 2016-08-07
  • 1970-01-01
  • 2016-12-14
相关资源
最近更新 更多