This is my code:
$url = 'http://www.douban.com/';
$url = str_replace(" ", "%20", $url);
$TheURL_header = substr($url, 0, 7);
if ($TheURL_header == "http://") {
$pos = strpos($url, "/", 7);
if ($pos) {
$host = substr($url, 7, $pos - 7);
} else {
$host = substr($url, 7);
}
$referer = "http://" . $host . "/";
} else if ($TheURL_header == "https:/") {
$pos = strpos($url, "/", 8);
if ($pos) {
$host = substr($url, 8, $pos - 8);
} else {
$host = substr($url, 8);
}
$referer = "https://" . $host . "/";
} else {
$pos = strpos($url, "/");
if ($pos) {
$host = substr($url, 0, $pos);
} else {
$host = substr($url, 0);
}
$url = "http://" . $url;
$referer = "http://" . $host . "/";
}
$c = curl_init();
$curl_header = array(
'Accept: */*',
'Referer: ' . $referer,
'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.2) Gecko/20090803 Ubuntu/9.04 (jaunty) Shiretoko/3.5.2',
'Host: ' . $host,
'Connection: Keep-Alive');
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_HTTPHEADER, $curl_header);
curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($c, CURLOPT_TIMEOUT, 30);
curl_setopt($c, CURLOPT_HEADER, 0);
$res = curl_exec($c);
echo $res;
It works fine when I set the $url = 'http://www.google.com', but if I change the $url,like www.aoguejewellery.com and some other urls, I always got a 403 error.
No comments:
Post a Comment