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

Yabuti
V.I.P.
Зарегистрирован: 28.11.2008
Сообщений: 11263
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
EvaPharmacy. Чтобы мазать хлеб икоркой, Ева – лучшая партнёрка! Инвайты Jabber: [email protected] и ICQ: 750000

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

JM
Гуру
Зарегистрирован: 25.08.2006
Сообщений: 1383
Обратиться по нику
# Добавлено:Вс Ноя 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
Сообщений: 11263
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
EvaPharmacy. Чтобы мазать хлеб икоркой, Ева – лучшая партнёрка! Инвайты Jabber: [email protected] и ICQ: 750000

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

Перейти:  





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



Партнеры