tags:

views:

52

answers:

0

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.