Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> cURL через прокси - 403 ошибка, Для каждого прокси - 403 ошибка 
:(
    Опции темы
cia
Дата 27.4.2007, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Всем привет.
Снова прошу помочь.
Дело такое - есть скрипт, который просто выводит IP адрес (файл getip.php):
Код

<?php
echo $_SERVER['REMOTE_ADDR'];
?>


Это дело парсю вот этим скриптом:
Код

  $url='http://www.site/getip.php';
  $ch=curl_init($url);
  curl_setopt($ch,CURLOPT_TIMEOUT,40);
  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($ch,CURL_PROXY,'http://'.$proxy);
  curl_setopt($ch,CURLOPT_HTTPPROXYTUNNEL,1);
  $ip=curl_exec($ch);
  if(!$ip) {
    echo "ERRRRROR!!!<BR>";
    echo curl_error($ch);
  }
  curl_close($ch);
  echo "<HR>!!!".$ip."<HR>";


Ошибка в том, что при любом (из тех, что я пробовал) прокси cURL возвращает 403 ошибку.
Пробую открыть страницу getip.php из браузера - все нормально, пишет ip прокси.
В чем тут дело может быть?

PM WWW ICQ   Вверх
capitan
Дата 27.4.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: нет
Всего: 13



Внимательно почитай мануал. http://www.php.net/manual/ru/function.curl-setopt.php
Где у тебя:
Код

curl_setopt($ch, CURLOPT_URL, $url);


и 
Код

$ch=curl_init($url);


записывается вообще-то как:
Код

$ch=curl_init();


Это сообщение отредактировал(а) capitan - 27.4.2007, 10:53
PM MAIL WWW ICQ   Вверх
cia
Дата 27.4.2007, 13:41 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Не понял своей ошибки...

Цитата

Код

resource curl_init ( [string url] )

curl_init() создает новый сеанс CURL и возвращает дескриптор, который используется с функциями curl_setopt(), curl_exec() и curl_close(). Если передан необязательный аргумент url, опция CURLOPT_URL будет автоматически установлена в значение этого аргумента. Если этот аргумент не передан, необходимо использовать функцию curl_setopt().


Или что?

Добавлено через 7 минут и 10 секунд
В любом случае: и так и так пробую - результат один.
В Грешить, в принципе, надо на прокси - но если с браузера зайте - то все работает так как надо.
Не пойму в чем дело... Может ли мой хостер блокировать внешние соединения через прокси?
PM WWW ICQ   Вверх
cia
Дата 27.4.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 15.1.2007

Репутация: нет
Всего: 4



Сам себе отвечаю: видимо может  smile 

Попробовал это же дело на другом хосте - результат другой... но тоже не утешительный.
Ошибку не пишет, но пишет реальный адрес хоста, а не прокси.

Поэтому вопрос: действительно ли хостер может закрыть внешние соединения через прокси, оставив прямые (проверено - работает) ?

И все же что я пишу не так? Почему IP реальный, а не прокси? Работает очень шустро даже черз сильно загруженные прокси - создается впечатление, что к проксе вообще обращений небыло. Может я еще чего забыл?
PM WWW ICQ   Вверх
capitan
Дата 27.4.2007, 15:09 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 27.2.2005
Где: Москва

Репутация: нет
Всего: 13



Цитата

Не понял своей ошибки...

Это не ошибка. Просто иногда под разные версии PHP один и тот же код может работать по разному. Просто нужно пробовать и так и так.
Нас чёт блокирование проксей хостером - ни разу не слышал об этом.


Да, действительно строка 
Код

curl_setopt($ch,CURL_PROXY,'http://'.$proxy);

неправильная, вот правильная:
Код

curl_setopt($ch,CURLOPT_PROXY,'http://'.$proxy);


Это сообщение отредактировал(а) capitan - 27.4.2007, 15:12
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.