我正在使用cURL收到“请求的网址未找到...”错误。有任何想法吗?

时间:2013-06-27 22:49:46

标签: php redirect curl

所以我将数据发布到另一个系统并希望检索系统响应的“重定向URL”,并在2秒后重定向用户但是我得到:

  

在此服务器上找不到请求的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>

1 个答案:

答案 0 :(得分:0)

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

要了解我的意思,请将代码更改为:

curl_setopt($resURL,CURLOPT_RETURNTRANSFER);
$response = curl_exec($resURL); 
echo $repsonse
如果您没有将curl设置为遵循重定向,则IIRC CURLINFO_EFFECTIVE_URL将不会更改。