CURL + PROXY

Статус
В этой теме нельзя размещать новые ответы.

bikuri

Создатель
Регистрация
18 Май 2009
Сообщения
36
Реакции
0
Народ, подскажите, плз, где туплю и что недопонимаю!

Собсно, хочу чтоб скрипт работал через прокси. Вот код:
PHP:
function get($url,$proxy) {
  $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
        curl_setopt($ch, CURLOPT_TIMEOUT, 20);
        curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
        //curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);//если Сокс
        curl_setopt($ch, CURLOPT_PROXY, $proxy);
        $ss=curl_exec($ch);
        curl_close($ch);
        return $ss;
}
$prox = '218.75.75.133:8080';
$a=get('http://leader.ru/secure/who.html',$prox);

Проверяю работу по нескольким сервисам. Большинство показывают прокси, а этот, сабака, отображает реальный айпи.

Что не так?

Единственный вариант, когда сервис не показал мой айпи, это когда браузер работает через прокси.
Но это не выход...

Вобщем прошу подсказки :(
 
Проверь если прокси рабочий. Вот этот скрипт работает (пока прокси живой :) :(
PHP:
<?php
$ch = curl_init('http://www.whatismyip.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1)');
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
//curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);//если Сокс
curl_setopt($ch, CURLOPT_PROXY, '187.16.242.50:3128');
curl_setopt($ch, CURLOPT_VERBOSE, true);
$ss = curl_exec($ch);
curl_close($ch);
echo $ss;
?>
 
С тунелем писали - не помогло...
 
Проверил твой вариант, все работает. Вывод: не рабочий прокси :)
PHP:
<?
function get($url,$proxy) {
	$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL,$url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
		curl_setopt($ch, CURLOPT_TIMEOUT, 20);
		curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
		//curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);//если Сокс
		curl_setopt($ch, CURLOPT_PROXY, $proxy);
		$ss=curl_exec($ch);
		curl_close($ch);
		return $ss;
}
$prox = '187.16.242.50:3128';
$a=get('http://leader.ru/secure/who.html',$prox);
echo $a;
?>
----- upd
хм, whatismyip.com показывает работу через прокси, leader.ru прокси не видит.. может дело в анонимности прокси?
 
Если прокси не рабочий, я так понимаю, коннекта вообще не произойдет (исправте меня).
 
Если прокси не рабочий, коннекта не произойдет, просто может этот сервис не показывает не анонимные прокси, т.е. если он видит что юзали прокси, то показывает настоящие данные, не упоминая прокси. Тот же whatismyip.com сказал что айпи не мой, но возможно я пришел через прокси. Сейчас просто нет анонимного прокси проверить.
 
пробуй добавить
PHP:
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
 
вот купил сокс4... та же хрень :(

Добавлено через 2 минуты
пробуй добавить
PHP:
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

тоже не спасает

Добавлено через 5 минут
блин 800 сервисов говорят: "Ты класный пацан! А кто ты?"
а этот один, сволоч говорит: "Ты мудак!"
:eek:
 
Судя по header-у, leader.ru не редиректит, эти опции в этом случае не причина.

Запрос:
Код:
GET /secure/who.html HTTP/1.1
Host: leader.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Ответ:
Код:
HTTP/1.1 200 OK
Server: nginx/0.6.31
Date: Wed, 28 Oct 2009 12:53:22 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
Content-Language: ru
 
Браузер никаким боком палить не может? (может я вообще уже загнул:confused:)

В браузере (файрфокс) явно указываю прокс... не палит...
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху