Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: curl и proxy
Форумы портала PHP.SU » » Работа с сетью » curl и proxy

Страниц (1): [1]
 

1. Arhat109 - 01 Июля, 2014 - 16:39:46 - перейти к сообщению
Есть давно писанный парсер сети, работает как надо. Через curl.
Сегодня решил попробовать запинать его через proxy. Нашел список бесплатных проксей и ... облом-с.
Curl на любой запрос висит до timeout (30сек) а потом, возвращает false и ошибку couldn't connect to host

Вот код функции чтения содержимого странички, он типовой:
PHP:
скопировать код в буфер обмена
  1.  
  2. function get_proxy($url, $proxy) {
  3.         $ch = curl_init();
  4.         curl_setopt($ch, CURLOPT_URL, $url);
  5.         curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  6.         curl_setopt($ch, CURLOPT_USERAGENT, 'test-test');
  7.         curl_setopt($ch, CURLOPT_PROXY, "$proxy");
  8. //      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  9. //      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  10. //      curl_setopt($ch, CURLOPT_HEADER, false);
  11. //      curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true);
  12. //      curl_setopt($ch, CURLOPT_PROXYPORT, 8080);
  13.  
  14.         $ss=curl_exec($ch);
  15. // echo curl_error($ch);
  16.  
  17.         curl_close($ch);
  18.         return $ss;
  19. }
  20.  
  21. // А вот так вызываю:
  22. $proxy = '112.25.12.37:80';
  23. $content = get_proxy('http://arhat.su/',$proxy);
  24. var_dump( $content );
  25.  


Сайт, по ссылке - расположен не том же компе, с которого запускаю скрипт. Замена на любой другой ничего не меняет. Впрочем как и замена прокси...

Если убрать опцию CURLOPT_PROXY, то так было раньше и всё работает на ура.

закомментаренные строки - это то, что уже попробовал. Результат тот же самый.

Что я делаю не так?
(Добавление)
Народ, есть холть какие-нить мысли? Как-то тут чего ни спроси, а в ответ - тишина...
2. esterio - 01 Июля, 2014 - 17:54:10 - перейти к сообщению
потому что большинство бесплатных прокси живы в течении 20-30 мин потом раз и навсегда умирают лишив след на сотни-тисяч сайтах со списками прокси.
П.С. Сначала проверте работает ли прокси-сервер вообще
3. Arhat109 - 01 Июля, 2014 - 18:18:24 - перейти к сообщению
А как? Сервера из списка - пингуются, а как проверить работает ли на них прокся?

у wget сколько не читал ман, так и не понял как задать проксю... через какие-то переменные ... как это сделать из консоли Линукса?
(Добавление)
Нашел как проверить. вот этот прокси 218.203.54.8:80 - явно работает. Время доступа около 1.5сек.
При его использовании получил другой вариант ошибки CURL: Couldn't resolve proxy

Такое ощущение, что где-то чего-то не включено... или у меня или у провайдера... может быть?
4. esterio - 02 Июля, 2014 - 10:56:57 - перейти к сообщению
1. какой именно прокси HTTP или SOKS
2. зачем вам wget
3. смотрите не упал ли скрипт ( max execution time)
В принципе пришлось пользоваться прокси, правда списки платные были, 100% рабочие и проблем не возникало

 

Powered by ExBB FM 1.0 RC1