Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
Post/get запрос через прокси |

22.04.2007, 02:51
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Post/get запрос через прокси
Есть, например, такой запрос:
Код:
<?
$proxy = "217.219.192.69";
$port = "80";
$host = "http://site.ru";
$path = "/";
$fp = @fsockopen($proxy, $port, $errno, $errstr, 10);
if($fp)
{
$headers = "GET $path HTTP/1.1\r\n";
$headers.= "Host: $host\r\n";
$headers.= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while(!feof($fp))
{
echo fread($fp,1024);
}
fclose($fp);
}
else
{
echo "$errno $errstr";
}
?>
Как сделать, чтобы прокси брались из файла, например, proxy.txt, потом разделялись на прокси и порт, проверялись, если нормально - юзались в запросе, если нет - бралась следующая строка из proxy.txt?
Спасибо!
|
|
|

22.04.2007, 03:08
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
PHP код:
$file = file('proxies.txt'); // Файл с проксями
list($proxy, $port) = explode(":", trim($file)); // Теперь $proxy - сервер прокси, до двоеточия, а порт = порт, после двоеточия
|
|
|

22.04.2007, 04:17
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
Сообщение от Isis
PHP код:
$file = file('proxies.txt'); // Файл с проксями
list($proxy, $port) = explode(":", trim($file)); // Теперь $proxy - сервер прокси, до двоеточия, а порт = порт, после двоеточия
ну или так::
PHP код:
//массив проксей (в файле прокси разделены '\n'), порт и хост разделены ':'
$f_proxy = fopen('proxy.txt', r);
$proxy = fread($f_proxy, 65000);
$proxy_server = explode("\n", $proxy);
$n=count($proxy_server);
for ($i=0; $i<=count($proxy_server)-1; $i++)
{
$proxy_serv[$i] = explode(":", $proxy_server[$i]);
}
fclose($f_proxy);
Здесь ты получаешь из файла 'proxy.txt' двумерный массив ($proxy_serv) вида:
Код HTML:
array [1 => 1 - ip
2 - port
2 => ...]
PHP код:
<?
$host = "http://site.ru";
$path = "/";
//массив проксей (в файле прокси разделены '\n'), порт и хост разделены ':'
$f_proxy = fopen('proxy.txt', r);
$proxy = fread($f_proxy, 65000);
$proxy_server = explode("\n", $proxy);
$n=count($proxy_server);
for ($i=0; $i<=count($proxy_server)-1; $i++)
{
$proxy_serv[$i] = explode(":", $proxy_server[$i]);
}
fclose($f_proxy);
for ($i=0; $i<count($proxy_serv); $i++)
{
$fp = fsockopen($proxy_serv[$i][1], $proxy_serv[$i][2], $errno, $errstr, 10);
if($fp)
// ;)
{
$headers = "GET $path HTTP/1.1\r\n";
$headers.= "Host: $host\r\n";
$headers.= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while(!feof($fp))
{
$rez_data = fread($fp,1024);
// здесь код для обработки ответа
//...
}
fclose($fp);
}
else
{
echo "$errno $errstr";
}
}
?>
зы::Разницы никакой, 2-ой код используется в начале скрипта, а далее использйется массив, 1-ый код использутся каждый раз в при открытиии сокета.
Последний раз редактировалось mR_LiNK[deface_0nl; 25.04.2007 в 00:22..
|
|
|

22.04.2007, 11:20
|
|
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
Провел на форуме: 8042357
Репутация:
3742
|
|
2ой более экономичный к ресурсам =)
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
|
|
|

24.04.2007, 23:36
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Че-то нифига у меня не получается...
Скрипт такой:
Код:
<?php
$usver = file("names.txt");
$parol = file("pass.txt");
foreach ($usver as $i=>$v) {
$hostname = "site.com";
$path = "/login";
$line = "";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
//пошел пост запрос
//...............
//..............
}
fclose($fp);
//потом гет запрос
//...............
//..............
//потом еще один пост запрос
//...............
//..............
Пытался сделать, чтобы каждый пользователь, типа, подключался под разным IP.
Ткните носом, где посмотреть конкретный пример с использованием списка проксей из файлика и проверкой их на коннект.
Или, если кому не влом, приведите код тут.
С меня репа! Спасибо!
|
|
|

24.04.2007, 23:59
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
2) ВЫШЕ я уже приводил код использование списка прокси, хранящихся в файле
PHP код:
$f_proxy = fopen('proxy.txt', r);
$proxy = fread($f_proxy, 65000);
$proxy_server = explode("\n", $proxy);
$n=count($proxy_server);
for ($i=0; $i<=count($proxy_server)-1; $i++)
{
$proxy_serv[$i] = explode(":", $proxy_server[$i]);
}
fclose($f_proxy);
На выходе ты получаешь массив $proxy_serv
далее его и используешь, код вывода разных проксей из массива я приводил выШЕ!! (в цикле)
проверка на соединение ты и так уже написал::
PHP код:
...
if (!$fp) echo "$errstr ($errno)<br />\n";
...
можно также дополнить времением ожидания ответа..
зы:: по поводу первого сорь, обознался, перепутал file() с fread()..
Последний раз редактировалось mR_LiNK[deface_0nl; 25.04.2007 в 00:12..
|
|
|

25.04.2007, 00:05
|
|
Новичок
Регистрация: 15.04.2007
Сообщений: 23
Провел на форуме: 208347
Репутация:
4
|
|
Не понял. Скрипт выдирает из файлов переменные построчно и юзает их. я привел код скрипта не полностью, а для примера.
Без проксей все работает на ура. Сейчас хочу, чтобы подключался через проксю. Пробовал заюзать код выше - не получается.
|
|
|

25.04.2007, 00:13
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
Сообщение от beerbear
Не понял. Скрипт выдирает из файлов переменные построчно и юзает их. я привел код скрипта не полностью, а для примера.
Без проксей все работает на ура. Сейчас хочу, чтобы подключался через проксю. Пробовал заюзать код выше - не получается.
что именно не получается???
выложи код!
выложи ошибки!!
если не хочешь выкладывать здесь, стучи в асю, посмотрим что не так
зы:: пост ниже кстати, верен тоже, этот параметр необходим
Последний раз редактировалось mR_LiNK[deface_0nl; 25.04.2007 в 00:33..
|
|
|

25.04.2007, 00:19
|
|
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
Провел на форуме: 457850
Репутация:
174
|
|
Нужен хеадер
Proxy-Connection: close
|
|
|

25.04.2007, 12:05
|
|
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме: 1364740
Репутация:
114
|
|
2beerbear
тебе сюда http://www.forum.antichat.ru/thread38811.html
зы: много лучше, чем то что выше!
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|