2013-06-27 38 views
0

所以我张贴数据到另一个系统和我想检索“重定向URL”,该系统响应回来,2秒后重定向用户,但我得到:我收到“请求的URL未找到...”与cURL错误。有任何想法吗?

请求的URL /somescript.aspx在这个服务器上没找到。

任何想法我做错了什么?或者还有其他什么玩法?

<?php 
$strURL = 'http://someplace.com/somescript.aspx'; 
$fields_string = implode('&', (array)$_SESSION['apply']); 

$resURL = curl_init(); 
curl_setopt($resURL, CURLOPT_URL, $strURL); 
curl_setopt($resURL, CURLOPT_POST, true); 
curl_setopt($resURL, CURLOPT_POSTFIELDS, $fields_string); 
curl_setopt($resURL, CURLOPT_HEADER, TRUE); 
curl_setopt($resURL, CURLOPT_FOLLOWLOCATION, FALSE); 
$response = curl_exec($resURL); 
$RedirectLocation = curl_getinfo($resURL, CURLINFO_EFFECTIVE_URL); 

unset($_SESSION['apply']); ?> 
<script type="text/javascript"> 
$(function() { 
    setTimeout(function() { 
     window.location.href = "<?php echo $RedirectLocation; ?>"; 
    }, 2000) 
}); 
</script> 

回答

0

所以你想要检索301/302重定向目标,但实际上并没有遵循它?将CURLOPT_RETURNTRANSFER设置为true,并将Location:标题解析为响应。

要明白我的意思改变你的代码,以这样的:如果你不设置卷曲跟随重定向

curl_setopt($resURL,CURLOPT_RETURNTRANSFER); 
$response = curl_exec($resURL); 
echo $repsonse 

IIRC CURLINFO_EFFECTIVE_URL不会改变。

+0

太好了。我会尝试。但是,将修复/更正“请求的网址”错误? – FrankO

相关问题