【发布时间】:2014-01-02 04:17:45
【问题描述】:
您好,我知道这是 StackOverFlow 上非常常见的话题。 我已经花了整整一周的时间来搜索它。
我有一个网址:abc.com/default.asp?strSearch=19875379
这进一步重定向到这个网址:abc.com/default.asp?catid={170D4F36-39F9-4C48-88EB-CFC8DDF1F531}&details_type=1&itemid={49F6A281-8735-4B74-A170-B6110AF6CC2D}
我已努力使用 Curl 在我的 php 代码中获取最终 url,但无法实现。
这是我的代码:
<?php
$name="19875379";
$url = "http://www.ikea.co.il/default.asp?strSearch=".$name;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$a = curl_exec($ch);
curl_close( $ch );
// the returned headers
$headers = explode("\n",$a);
// if there is no redirection this will be the final url
$redir = $url;
// loop through the headers and check for a Location: str
$j = count($headers);
for($i = 0; $i < $j; $i++){
// if we find the Location header strip it and fill the redir var
//print_r($headers);
if(strpos($headers[$i],"Location:") !== false){
$redir = trim(str_replace("Location:","",$headers[$i]));
break;
}
}
// do whatever you want with the result
echo $redir;
?>
它给了我网址“abc.com/default.asp?strSearch=19875379”而不是这个网址“abc.com/default.asp?catid={170D4F36-39F9-4C48-88EB-CFC8DDF1F531}&details_type=1&itemid= {49F6A281-8735-4B74-A170-B6110AF6CC2D}"
提前感谢您的帮助:)
【问题讨论】: