[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получение html через прокси
Happy!
Подскажите пожалуйста, есть такой вот код:
$page='http://www.yandex.ru/'; 
$port = '80';
$proxy='sleepy.comcept.ab.ca:80';

$fp = @fsockopen($proxy, $port);

if($fp){
$headers = "GET $page HTTP/1.0\r\n";
$headers .= "Host: $host\r\n";
$headers .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
$headers .= "\r\n";

fputs($fp, $headers);

while (!feof($fp))
$page .= fgets($fp, 100);

echo '<pre>'.$page.'<pre>';
fclose($fp);
}else{
echo "Error";
}

Как заставить его возвращать мне html код страницы...



Спустя 1 час, 13 минут, 24 секунды (10.12.2011 - 23:26) Happy! написал(а):
Все решил проблему

Спустя 3 часа, 6 минут, 48 секунд (11.12.2011 - 02:33) Happy! написал(а):
Поспешил я с выводами, помогите народ если кто знает. Не работает этот код (в $headers .= "Host: $host\r\n"; вместо $host стоит $page) всеравно один и тот же результат, отдает только информацию о себе сервер, а мне html страницы нужен user posted image

Спустя 3 минуты, 30 секунд (11.12.2011 - 02:37) TranceIT написал(а):
Не уверен, но по-моему в заголовках должны быть прямые слэши, а не обратные...

Спустя 8 часов, 49 минут (11.12.2011 - 11:26) Happy! написал(а):
Не помогает, я попробовал снифером поймать что отправляет мой браузер, он посылает:

Request Method: GET
Request URL: http://www.yandex.ru
Request Version HTTP/1.1
Host: www.yandex.ru\r\n
User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n

Я по пробовал тоже самое отправить:

$page='http://www.yandex.ru/';
$qq = 'www.yandex.ru';
$port = '80';
$proxy='sleepy.comcept.ab.ca:80';

$fp = @fsockopen($proxy, $port);
if($fp){
$headers = "Request Method: GET";
$headers .= "Request URL: $page";
$headers .= "Request Version HTTP/1.1";
$headers .= "Host: $qq\r\n";
$headers .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";

fputs($fp, $headers);

while (!feof($fp))
$page .= fgets($fp, 100);

echo '<pre>'.$page.'<pre>';
fclose($fp);
}else{
echo "Error";
}

Но он мне выдает только http://www.yandex.ru/

Спустя 1 час, 9 минут, 44 секунды (11.12.2011 - 12:35) killer8080 написал(а):
убери порт из
$proxy='sleepy.comcept.ab.ca'; 

Спустя 11 минут, 4 секунды (11.12.2011 - 12:47) Happy! написал(а):
Убрал, тоже самое выдает

Спустя 4 минуты, 23 секунды (11.12.2011 - 12:51) Happy! написал(а):
Все, я понял в чем еще проблема, прокси не работает

Спустя 4 минуты, 19 секунд (11.12.2011 - 12:55) Happy! написал(а):
Рабочий прокси мне выдает:
There has been an error in the HTTP proxy and your request couldn't be fullfilled.
Invalid HTTP request
В чём ошибка? Почему неправильный запрос?

Спустя 6 минут, 20 секунд (11.12.2011 - 13:02) killer8080 написал(а):
А запрос как в первом варианте, или как во втором? Второй не рабочий.

Спустя 6 минут, 7 секунд (11.12.2011 - 13:08) Happy! написал(а):
В первом возвращается информация о сервере yandex а не html страницы, а второй неработает как раз...

Спустя 2 минуты, 44 секунды (11.12.2011 - 13:10) killer8080 написал(а):
Должен вернуть http заголовок, а контента может и не быть, если там редирект. Покажи что возвращает.

Спустя 3 минуты, 3 секунды (11.12.2011 - 13:13) Happy! написал(а):
Он как раз и возвращает заголовок, я просто уже второй день не мог вспоминть как это называется))
http://www.yandex.ru/HTTP/1.0 302 Moved Temporarily
Server: nginx
Date: Sun, 11 Dec 2011 10:12:55 GMT
Cache-Control: no-cache,no-store,max-age=0,must-revalidate
Location: http://pass.yandex.ru/syncookie?name=yandex_gid&retpath=http%3A%2F% 2Fwww.yandex.ru%2F
Content-Length: 0
Expires: Sun, 11 Dec 2011 10:12:56 GMT
Last-Modified: Sun, 11 Dec 2011 10:12:56 GMT
P3P: policyref="/w3c/p3p.xml", CP="NON DSP ADM DEV PSD IVDo OUR IND STP PHY PRE NAV UNI"
Set-Cookie: yandex_gid=10136; domain=.yandex.ru; path=/; expires=Tue, 10-Jan-2012 10:12:55 GMT
Set-Cookie: Cookie_check=1; domain=.yandex.ru; path=/
Set-Cookie: yandexuid=9890806031323598376; domain=.yandex.ru; path=/; expires=Wed, 08-Dec-2021 10:12:55 GMT
Set-Cookie: yp=1326190376.ygu.1; domain=.yandex.ru; path=/; expires=Wed, 08-Dec-2021 10:12:55 GMT
X-XRDS-Location: http://openid.yandex.ru/server_xrds/
X-Cache: MISS from aker
Via: 1.0 aker:33128 (firewall/6.5)
Proxy-Connection: close

Спустя 3 минуты, 51 секунда (11.12.2011 - 13:17) killer8080 написал(а):
Happy!
ну вот, он кидает тебе редирект на
Location: http://pass.yandex.ru/syncookie?name=yandex_gid&retpath=http%3A%2F%    2Fwww.yandex.ru%2F

Не забудь передавать куки, которые он тебе выставил. Там будет 2-4 редиректа.
Или пользуй курл.

Спустя 3 минуты, 43 секунды (11.12.2011 - 13:21) killer8080 написал(а):
Заголовок с куками у тебя такой
Cookie: yandex_gid=10136; Cookie_check=1; yandexuid=9890806031323598376; yp=1326190376.ygu.1

Спустя 6 минут, 48 секунд (11.12.2011 - 13:28) Happy! написал(а):
Тоесть мне надо отправить этот же запрос только на:
Location: http://pass.yandex.ru/syncookie?name=yande...ww.yandex.ru%2F
?
И что будет если я не отправлю куки?

Спустя 5 минут, 48 секунд (11.12.2011 - 13:34) killer8080 написал(а):
Happy!
тогда после нескольких редиректов, тебя выкинет на что то типа
http://www.yandex.ua/?ncrnd=4650&nocookiesupport=yes

Спустя 1 минута, 19 секунд (11.12.2011 - 13:35) killer8080 написал(а):
Проще использовать курл, там и follow location, и cookie, уже все реализовано.

Спустя 7 минут, 56 секунд (11.12.2011 - 13:43) Happy! написал(а):
Все... сделал через curl, спасибо за помощь. А где можно по подробнее почитать про http ?

Спустя 2 минуты, 4 секунды (11.12.2011 - 13:45) killer8080 написал(а):
Happy!
можно в wiki почитать. Сложного там ничего нет smile.gif

Спустя 1 минута, 11 секунд (11.12.2011 - 13:46) Happy! написал(а):
Её как раз и читал, как видете не очень успешно

Спустя 4 минуты, 27 секунд (11.12.2011 - 13:51) killer8080 написал(а):
Happy!
Видимо не внимательно читал, там есть и про коды состояний, в том числе
3xx коды редиректов
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.