|
|
|
Всем привет!
Сорри, что отвлекаю от работы, просто сам не могу понять, мозг кипит.
Есть скрипт "онлайнера" (авторизуется акком, чтобы на сайте был статус онлайн). Стоит задача допилить авторизацию через прокси.
Сам скрипт (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
Пожалуйста, кто соображает в curl, подскажите, как можно авторизоваться через прокси.
Проверку прокси на "живость" я допишу сам, через file_get_contests, это несложно, а с курлом, етить его, мучаюсь.
Заранее огромное спасибо! |
|
|
|
|
|
Ничего не понимаю.
Зачем "Самая главная строка" в цикле, где происходят манипуляции с куками.
Во втором случае тоже не понятно. Функция get принимает первым параметром url, а ты отправляешь результат работы curl, т.е. текст страницы. Да и при вызове метода go не указан метод get или post. |
|
|
|
|
|
Них не понял че ты хочешь сделать то?
По второму тупо
$prox = '77.39.1.0:3128'; // Еще рабочий прокси: 178.236.137.238:3128
$url='google.com';
$content = get($url, $prox); |
|
|
|
|
|
exolon,
Из кусков его собрал, он работает и норм
JM, нужно, чтобы при авторизации курлом с куками: $curl->url($page)->go()->res - это подключение шло через прокси.
То есть что-то вроде:
$proxy = '77.39.1.0:3128';
echo connect($curl->url($page)->go()->res, $proxy);
То есть, все запросы курла пускать через прокси.
Может в самом курле при инициализации нужно указать прокси?
Спасибо! |
|
|
|
|
|
Сделал через CURLOPT_PROXY, ура!
|
|
|
|
|
|
|
|