как на яндекс с прокси зайти? из php?

12
KupluSsilki
На сайте с 13.07.2005
Offline
106
60878

братцы-кролики, помогите!

Имею желание зайти на яндек через прокси. Настроив в браузере прокси захожу на страницу без препятствий.

Но вот попытавшись проделать тоже самое через php скриптик столкнулся со следующим:


Доступ к нашему сервису запрещен!
Вы обратились к Яндексу с IP-адреса xxx.xxx.xxx.xxx.

Возможно, этот сервер является открытым и анонимным прокси-сервером. Это означает, что любой пользователь интернета может им воспользоваться совершенно безответственно. Мы вынуждены запретить доступ через такие прокси-сервера, потому что они широко используются для атак на нас или на почтовые ящики наших пользователей.

Вот скрипт:


$address = "xxx.xxx.xxx.xxx";
$port = "80";
$fp=fsockopen($address,$port);
if($fp) {
fputs ($fp, "GET http://yandex.ru/yandsearch?text=$inquiry HTTP/1.1\r\n");
fputs ($fp, "Host: yandex.ru\r\n");
fputs ($fp, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11\r\n");
fputs ($fp, "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n");
fputs ($fp, "Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n");
fputs ($fp, "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n"); fputs ($fp, "Keep-Alive: 300\r\n");
fputs ($fp, "Connection: keep-alive\r\n\r\n");

while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}

Заголовок я взял с помощью плагина LiveHTTPHeaders. Полная копия заголовка который посылает браузер Яндексу при запросе по тому же URL.

Собственно вопрос... как меня палит Яндекс? Если запрос я точно такой же как и браузер посылю.

бриллиантовые руки (http://www.forweb.ru/бриллиантовые_руки) не наш удел, у нас - деревянные )
IL
На сайте с 17.05.2009
Offline
56
#1

Пользуйся анонимайзером!

DR
На сайте с 26.12.2008
Offline
19
#2

lol , прокси с паблика взято , бери приватные

SEO футболки (http://seoshirt.ru/)
BE
На сайте с 09.07.2008
Offline
28
#3
KupluSsilki:
Возможно, этот сервер является открытым и анонимным прокси-сервером. Это означает, что любой пользователь интернета может им воспользоваться совершенно безответственно. Мы вынуждены запретить доступ через такие прокси-сервера, потому что они широко используются для атак на нас или на почтовые ящики наших пользователей.

Тут всё написано.

Яндекс запрещает доступ, так как вы используете публичный прокси сервер занесенный в блек лист яндекса...

BlackEvil добавил 28.07.2009 в 18:00

Если через браузер всё нормально заходит и данный прокси не коммерческая тайна - можете скинуть проксю в личку, поколдую:)

BlackEvil, Rest In Peace...
S
На сайте с 22.04.2009
Offline
158
#4

Слушайте что dvd_rw говорит.

KupluSsilki
На сайте с 13.07.2005
Offline
106
#5
dvd_rw:
lol , прокси с паблика взято , бери приватные

ещё раз грю - с броузеров при забитых в них прокси всё заходится нормально. я что-то не так делаю в запросе php.

BlackEvil:
Если через браузер всё нормально заходит и данный прокси не коммерческая тайна - можете скинуть проксю в личку, поколдую:)

200.65.129.2:80

148.233.159.58:8080

- в броузере работают, в php выдают шо "доступ запрещён"

129.186.205.77:3124

- работает и в php и в броузере вроде..

.:nbd:.
На сайте с 04.11.2008
Offline
98
#6

Если в php подключен curl, то как-то так:

$proxy = '200.65.129.2:80';

$ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)";
$ch = curl_init("http://www.yandex.ru/");

curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($ch);
curl_close($ch);

echo $result;
Палю тему Дорген (/ru/forum/439165) + кеи + контент (http://datarama.biz/) + еще немного кеев и скриптов (http://amazingsoftware.ru/) = $$$ Мы делаем доры, а не пишем романы (c) один Дима рефка dino_spomoni (http://goo.gl/w62v3)
BE
На сайте с 09.07.2008
Offline
28
#7


<?
//Запрос
$query = 'текст';
//Прокси
$proxy = '148.233.159.58:8080';
//Юзер-агент
$agent = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11";

//url
$url= 'http://yandex.ru/yandsearch?text='.$query;
//Создаем
$curl = curl_init();
//Задаем url
curl_setopt($curl, CURLOPT_URL,$url);
//Задаем прокси
curl_setopt($curl, CURLOPT_PROXY, $proxy);
//Задаем юзер-агент
curl_setopt($curl, CURLOPT_USERAGENT, $agent);
//Говорим, что результат нужно завернуть в переменную, а не сразу отобразить
curl_setopt ($curl,CURLOPT_RETURNTRANSFER,1);
//Следуем редиректам
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
//На всякий пожарный задаём реферер
curl_setopt ($curl, CURLOPT_REFERER, 'http://yandex.ru');
//Пуск!
$content = curl_exec($curl);
curl_close($curl);

//Переводим из UTF8 в WIN1251 и отображаем
echo iconv('UTF-8','WINDOWS-1251', $content);
?>

BlackEvil добавил 28.07.2009 в 18:41

Fuck! Опередили:)

KupluSsilki
На сайте с 13.07.2005
Offline
106
#8

спасибо, ребятушки! curl надо юзать, я понял.

а чё мой-то способ не пашет, никто не знает случайно?

BE
На сайте с 09.07.2008
Offline
28
#9


<?php
$query = 'текст';
$proxy = '148.233.159.58';
$port = 8080;
$agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.11) Gecko/2009060215 Firefox/3.0.11";



$fp = fsockopen($proxy, $port, $errno, $errstr, 30);

if ($fp)
{

$header = "GET http://yandex.ru/yandsearch?text={$query} HTTP/1.1\r\n";
$header .= "Host: yandex.ru\r\n";
$header .= "User-Agent: {$agent}\r\n";
$header .= "Referer: http://yandex.ru\r\n";
$header .= "Connection: Close\r\n\r\n";
fwrite($fp, $header);
$line = '';
while (!feof($fp))
{
$line.= fgets($fp, 1024);
}
fclose($fp);
}

echo iconv('UTF-8','WINDOWS-1251', $line);
?>

Комментить уже не стал ;)

.:nbd:.
На сайте с 04.11.2008
Offline
98
#10

Скорее всего прокся была в блек-листе Яши. У меня пример из первого поста нормально работает =)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий