АРМАДА
Как в cURL сделать подключение через прокси?
Новая тема Написать ответ Advanced Hosters - профессиональный хостинг

Yabuti
V.I.P.
Зарегистрирован: 28.11.2008
Сообщений: 16263
Contest (Сумма: 2)
Обратиться по нику
# Добавлено:Вс Ноя 18, 2012 7:20 pmДобавить в избранноеОтветить с цитатой
Всем привет!
Сорри, что отвлекаю от работы, просто сам не могу понять, мозг кипит.
Есть скрипт "онлайнера" (авторизуется акком, чтобы на сайте был статус онлайн). Стоит задача допилить авторизацию через прокси.

Сам скрипт (100% рабочий, может кому пригодится и без прокси, создал из готовых частей кода других скриптов):
Код:
<?php

// Онлайнер аккаунтов Spaces.ru

set_time_limit (0);
ini_set('max_input_time', '0');
$error_level = error_reporting(0);
date_default_timezone_set('Etc/GMT+6');

require 'curl.php';

$curl = new Curl();

// === Авторизуемся ===
$curl
    ->url('http://spaces.ru/registration/?r=reg/loginform')
    ->postarray(array(
      'name' => '77055506735',
      'password' => 'armada2012',
      'sid' => "",
      'CK' => "",
      'link_id' => 0
      ))
    ->go('post');

// === Устанавливаем куки ===
foreach($curl->info['cookies'] as $key => $val) {
    $curl->cookies .= "$key=$val";
   $page = "http://spaces.ru/guestbook/";
   // сохраняем результат поиска в массив
   echo $curl->url($page)->go()->res;                     // Самая главная строка
}

$curl = "";
$page = "";
?>



Класс для работы с CURL: http://yadi.sk/d/NH2gelA60nX9t

Пытаюсь делать через вот эту функцию:
Код:
function get($url, $proxy)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
    curl_setopt($ch, CURLOPT_PROXY, "$proxy");
    $ss=curl_exec($ch);
    curl_close($ch);
    return $ss;
}
 
$prox = '77.39.1.0:3128';        // Еще рабочий прокси: 178.236.137.238:3128
$content = get($curl->url($page)->go()->res, $prox);
echo $content;


, выдает ошибку, руки у меня кривые, еще не научился программить в php bums

Пожалуйста, кто соображает в curl, подскажите, как можно авторизоваться через прокси.
Проверку прокси на "живость" я допишу сам, через file_get_contests, это несложно, а с курлом, етить его, мучаюсь.

Заранее огромное спасибо! Drinks or Beer
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
--

exolon
V.I.P.
Зарегистрирован: 22.11.2007
Сообщений: 2397
Обратиться по нику
# Добавлено:Вс Ноя 18, 2012 7:46 pmОтветить с цитатой
Ничего не понимаю.
Зачем "Самая главная строка" в цикле, где происходят манипуляции с куками.
Во втором случае тоже не понятно. Функция get принимает первым параметром url, а ты отправляешь результат работы curl, т.е. текст страницы. Да и при вызове метода go не указан метод get или post.

JM
Гуру
Зарегистрирован: 25.08.2006
Сообщений: 1382
Обратиться по нику
# Добавлено:Вс Ноя 18, 2012 9:42 pmОтветить с цитатой
Них не понял че ты хочешь сделать то?
По второму тупо
$prox = '77.39.1.0:3128'; // Еще рабочий прокси: 178.236.137.238:3128
$url='google.com';
$content = get($url, $prox);
Конвертит мобильный траф как зверь!!!
VDS и домены от AHnames.com - лучшие решения по доступным ценам

Yabuti
V.I.P.
Зарегистрирован: 28.11.2008
Сообщений: 16263
Contest (Сумма: 2)
Обратиться по нику
# Добавлено:Пн Ноя 19, 2012 3:57 amОтветить с цитатой
exolon, Smile
Из кусков его собрал, он работает и норм :thup:

JM, нужно, чтобы при авторизации курлом с куками: $curl->url($page)->go()->res - это подключение шло через прокси.
То есть что-то вроде:

$proxy = '77.39.1.0:3128';
echo connect($curl->url($page)->go()->res, $proxy);

То есть, все запросы курла пускать через прокси.
Может в самом курле при инициализации нужно указать прокси?
Спасибо! Drinks or Beer
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
--

Yabuti
V.I.P.
Зарегистрирован: 28.11.2008
Сообщений: 16263
Contest (Сумма: 2)
Обратиться по нику
# Добавлено:Пн Ноя 19, 2012 4:50 amОтветить с цитатой
Сделал через CURLOPT_PROXY, ура!
Clapping Drinks or Beer
Ксен ВПС и выделенные серверы от PQCService.net с бесплатным администрированием в 7 локациях, icq: 87244588
--
Новая тема Написать ответ    ГЛАВНАЯ ~ ТЕХНИЧЕСКИЕ ВОПРОСЫ

Перейти:  





Генеральный спонсор



Партнеры