Как получить данные с помощью cURL через прокси-соединение - PullRequest
0 голосов
/ 17 октября 2011

Я хотел бы открыть любой URL с помощью cURL, используя прокси-соединение.Ниже приведены коды ... но мы не можем подключить это и получать положительные данные с помощью этой функции. Пожалуйста, предоставьте подходящую помощь для решения этой проблемы.Каждый раз, когда я запускаю этот код.Я получил условное сообщение "Остальное".

<?php
function getPage($proxy, $url, $referer, $agent, $header, $timeout) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, $header);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXY, $proxy);
    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);

    $result['EXE'] = curl_exec($ch);
    $result['INF'] = curl_getinfo($ch);
    $result['ERR'] = curl_error($ch);

    curl_close($ch);

    return $result;
}
?>
<?php
$result = getPage(
    '[64.71.138.122]:[80]', // use valid proxy
    'http://www.google.com/search?q=twitter',
    'http://www.google.com/',
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1',
    1,
    5);

if (empty($result['ERR'])) {
    echo "Positive message" ;
} else {
    echo "Negative Message" ;
}
?>

Когда мы печатаем это "print_r ($ result);"результат будет ..........

        Array ( [EXE] => [INF] => Array ( [url] => http://www.google.com/search?q=twitter [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 5.019769 [namelookup_time] => 0.000129 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 ) [ERR] => connect() timed out! ) 

1 Ответ

1 голос
/ 17 октября 2011

Может быть, это может помочь http://code.google.com/apis/gdata/articles/using_cURL.html#authenticating Вы должны действительно понимать, что вы скопировали http://www.fromzerotoseo.com/scraping-websites-php-curl-proxy/

вы можете использовать

function curl_google($keyword){

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,
'http://www.google.com/search?hl=en&q='.urlencode($keyword).'&btnG=Google+Search&meta=');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
return $data = curl_exec($ch);
curl_close($ch);

}

но вы должны разобрать результаты (возможно, используя SimpleXMLElement) ... удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...