|
|
|
| Всем привет!
Имеется проблемка: есть забаненый определенным сервером ip (этот ip принадлежит серверу, где лежит скрипт), т.е. при обращении на прямую file_get_content выдает мол невозможно загрузить контент...
Подскажите, пожалуйста, каким образом можно обойти такую систему блокировки?
Может использовать анонимные прокси? И если все таки можно их использовать, то можно ли пример такого действа?
З.Ы. читал я инфу о curl и о fsockopen, пытался писать скрипты, правльно строил запросы от сервака, но толкового ничего из этого не выходило... | |
|
|
|
|
|
|
|
для: Tread
(02.02.2007 в 12:00)
| | Да, можно использовать анонимный прокси-сервер (только предварительно нужно убедиться, что он работоспособный - у них, как правило, короткая жизнь). Весь фокус в том, что вы открываете соединение с прокси-сервером и передаёте HTTP заголовок Host в котором указываете адрес конечного хоста.
PS Прокси-сервера правда часто тоже банят, как только выясняют, что это прокси-сервер. И вообще лучше до бана никогда не доводить, а по хорошему договориться с владельцем контента. | |
|
|
|
|
|
|
|
для: cheops
(02.02.2007 в 12:40)
| | Дело в том что я пытался сделать коннект вот таким скриптом
$proxy = "60.217.227.136";
$port = 8080;
$url = "http://xyz.ru";
$fp = fsockopen($proxy, $port, $errno, $errstr, 30);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: ".$url."\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
Но результат, даже при точно работающих прокси - пустая траница...
Может в коде ошибка? | |
|
|
|
|
|
|
|
для: Tread
(02.02.2007 в 12:55)
| | 1 В HOST указывается только адрес
xyz.ru
2. В GET указывается весь url
http://xyz.ru/
Выбирать версию 1.1 нужно лишь в том случае, если Вы знаете протокол этой версии. А это не так. Выбирайте 1.0 | |
|
|
|
|
|
|
|
для: Trianon
(02.02.2007 в 13:13)
| | Спасибо, за совет, но итог тот же... | |
|
|
|
|
|
|
|
для: Tread
(02.02.2007 в 13:50)
| | вот так пробовали?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://xyz.ru');
curl_setopt($ch, CURLOPT_PROXY, '194.67.2.155:3128');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/8.01 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_REFERER, 'http://xyz.ru');
$result = curl_exec($ch);
curl_close($ch);
|
| |
|
|
|
|
|
|
|
для: disable
(03.02.2007 в 03:51)
| | Спасибо за совет!
Но...
Для этого надо установить curl вроде бы... как его установить на удаленный сервер? | |
|
|
|
|
|
|
|
для: Tread
(04.02.2007 в 13:38)
| | Это может сделать только администратор сервера. | |
|
|
|
|
|
|
|
для: cheops
(05.02.2007 в 00:13)
| | Ясно, но я не администратор...
Больше вариантов нет? :) | |
|
|
|
|
|
|
|
для: Tread
(08.02.2007 в 22:59)
| | Удивляет, что у Вас вариант с fsockopen не пошел.... | |
|
|
|
|
|
|
|
для: Tread
(08.02.2007 в 22:59)
| | а как Вы проверили, что CURL не пашет??? или это просто догадка? я пока не встречал такого хостера, который не держит работу с сокетами через CURL-функции... | |
|
|
|
|
|
|
|
для: ZuArt
(09.02.2007 в 09:32)
| | Честно говря это догадка была... я считал что до проверки надо сам курл поставить...
Попробуем :)
Большое спасибо! | |
|
|
|
|
|
|
|
для: Tread
(26.02.2007 в 13:52)
| | А через fsockopen() можект кто-нибудь правильно написать? | |
|
|
|
|
|
|
|
для: SnooPI
(26.02.2007 в 16:54)
| | А как через fsockopen() и чтобы были сокс прокси? :) | |
|
|
|