2014-04-28 91 views
-1

当我使用头:没有得到响应卷曲

$url='http://test.com/pay?login=160&[email protected]&ttype=NBFundTransfer&prodid=NSE&amt=50&txncurr=INR&txnscamt=0&clientcode=TkFWSU4%3d&txnid='.$string.'&date='.$date.'&custacc=1234567890&udf1=ajeesh&[email protected]'; 

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。这是为什么发生。我在做什么有什么不妥?

+3

补充一点:'curl_setopt($卷曲,CURLOPT_RETURNTRANSFER,1);' –

+0

当我用这个,1是gone.Now一个空白页即将到来 – Piya

+0

尝试使用诸如“http:// www.google.com”之类的简单网址进行测试。正如Rolice在评论中提到的那样,在'echo'行末尾加上一个分号(';')。当你做出这些改变时你会看到输出吗? –

回答

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; 
+0

谢谢,但我试过。但我得到一个空白的回应 – Piya

+0

给出一些解释与答案。这个选项是什么以及它如何影响过程。这样,提出问题的人就能理解解决方案。 @Piya,我在'echo $ auth'处看到缺少';' - 如果之后还有其他代码就像它不起作用。 – Rolice

+0

@Roice使用'print_r(curl_error($ curl));'找出原因。 –