С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.67/39: Рейтинг темы: голосов - 39, средняя оценка - 4.67
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388

Сокеты + прокси-сервер

31.08.2011, 13:00. Показов 8070. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, уважаемые пользователи форума.
Хотелось бы через сокеты обратиться к хосту, через прокси-сервер, насколько я знаю, нужно отправить запрос на соответствующий (заранее оговоренный порт) прокси-сервера и в заголовках передать инфу о той странице, к которой хотел бы обратиться и получить html код страницы. Так?
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$fp = fsockopen(
    $proxy, //Адрес прокси-сервера
    $port, //порт прокси-сервера
    $errno, $errstr);
    
switch($fp) {
    case FALSE:
        echo $errstr ($errno);
    break;
    case TRUE:
        $headers = "GET $page HTTP/1.0\r\n"; // где $page - страница(напр: /addurl)
        $headers .= "Host: $host\r\n";  // где $host - адрес (напр. google.ru)
        $headers .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
        $headers .= "\r\n";
        
        fputs($fp, $headers);
        
        while (!feof($fp))
            $page .= fgets($fp, 100);
        
        echo '<pre>'.$page.'<pre>';
    break;
}
 
fclose($fp);
Ответ сервера
HTML5
1
2
/addurlHTTP/1.0 404 Not found
Connection: close
Каким образов реализовать выше описанное?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.08.2011, 13:00
Ответы с готовыми решениями:

Прокси сервер
Как узнать данные прокси сервера?

вопрос о прокси сервер
допустим я исползую прокси сервер. зашол я например на facebook и вивел там мои логин и парол. вопрос: администраця прокси сервера,...

Закачать по ftp на сайт документи через прокси-сервер
нада закачать по ftp на сайт документи через прокси-сервер посоветуйте програми

30
Почетный модератор
 Аватар для Humanoid
11554 / 4349 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
31.08.2011, 13:32
Когда подключаешься напрямую к http-серверу, то запрос выглядит как у тебя:
Code
1
GET /page.html HTTP/1.0
Но что бы заставит прксю получить эту страницу, ему надо ещё и имя сервера указать. Иначе он не может знать, с какого сайта ты хочешь получить страницу.
Code
1
GET http://example.ru/page.html HTTP/1.0
1
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.08.2011, 14:41  [ТС]
Вопрос немного не по теме, кто заинтересован в поддержке такого вида серверов?
0
Почетный модератор
 Аватар для Humanoid
11554 / 4349 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
31.08.2011, 14:55
Цитата Сообщение от hatsub Посмотреть сообщение
кто заинтересован в поддержке такого вида серверов?
Интересный вопрос... тоже не представляю. Вижу несколько объяснений:
1. Сделали прокси для своих, но не поставили пароль... а со временем про него узнали многие.
2. Собирают логины и пароли для разных сайтов, когда люди пользуются их проксями.
3. Добрые люди
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.08.2011, 15:10  [ТС]
Цитата Сообщение от Humanoid Посмотреть сообщение
1. Сделали прокси для своих, но не поставили пароль... а со временем про него узнали многие.
При запросе у гугла "прокси" первая в выдаче - "Хорошие, свежие, рабочие прокси" - наводит на мысль, что это как ключи для файлообменников - постоянно закрываются и появляются новые, похоже все-таки первый вариант. Еще вопрос: я в цикле открываю свой сайт с разными проксями, выгружаю весь html в переменную php, то есть происходит загрузка счетчика Liveinternet, но как хосты почему-то считать не хочет, в чем дело?
0
Почетный модератор
 Аватар для Humanoid
11554 / 4349 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
31.08.2011, 15:18
Цитата Сообщение от hatsub Посмотреть сообщение
но как хосты почему-то считать не хочет, в чем дело?
Потому что хосты - это уникальные IP адреса. А ты каждый раз заходишь на сайт с одного и того же прокси сервера. Поэтому он и не увеличивает счётчик. Если будешь заходить с разных проксей, тогда увеличит на количество этих проксей.
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.08.2011, 15:27  [ТС]
Цитата Сообщение от hatsub Посмотреть сообщение
я в цикле открываю
я и имел в виду что разные прокси, вот код:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<?php
 
set_time_limit(0);
 
$proxy = array(
    '220.118.19.148','8000',
    '114-47-6-158.dynamic.hinet.net','8909',
    '222.168.14.205','8080',
    '123.125.156.92','80'
);
    
$host = 'xn--80aeclihfipmdbb.xn--p1ai';
$page = '/';
$i=0;
 
While($i < count($proxy)) {
 
    $fp = fsockopen($proxy[$i++],$proxy[$i++],$errno,$errstr);
 
    switch($fp) {
        case FALSE:
            echo $errstr ($errno).'<br/>';
        break;
        case TRUE:
        
            $headers = "GET $host".$page." HTTP/1.0\r\n";
            $headers .= "Host: $host\r\n";
            $headers .= "User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows 98)\r\n";
            $headers .= "\r\n";
 
            fputs($fp, $headers);
            
            sleep(5);
            
            while (!feof($fp))
                $page .= fgets($fp, 100);
            
            if($page) {
                echo 'Выполнено, переменная удалена...<br/>';
                unset($page);
            }
            
        break;
    }
 
    fclose($fp);
}
?>
Добавлено через 36 секунд
Все вроде как работает, но вот счетчик не обновляется(не читает это хостами)
0
Почетный модератор
 Аватар для Humanoid
11554 / 4349 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
31.08.2011, 15:37
Цитата Сообщение от hatsub Посмотреть сообщение
PHP
1
$fp = fsockopen($proxy[$i++],$proxy[$i++],$errno,$errstr);
А зачем два раза увеличивать? Тут получается, что ты используешь один адрес, а порт от другого прокси. Удивительно, что вообще хотя бы на один смог попасть. Лучше вместо
PHP
1
While($i < count($proxy)) {
сделай
PHP
1
for($i=0;$i<count($proxy);$i++) {
А вместо
PHP
1
$fp = fsockopen($proxy[$i++],$proxy[$i++],$errno,$errstr);
сделай
PHP
1
$fp = fsockopen($proxy[$i],$proxy[$i],$errno,$errstr);
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.08.2011, 15:43  [ТС]
Посмотрите внимательно на массив, адрес и порт в разных ячейках.

'220.118.19.148','8000',
'114-47-6-158.dynamic.hinet.net','8909',
'222.168.14.205','8080',
'123.125.156.92','80'

$i=0;

первая итерация:

fsockopen(
$proxy[$i++], // использует нулевой элемент массива(адрес), после инкременирует его
$proxy[$i++], // использует первый элемент массива (порт), после инкременирует его
за проход цикла переменная увеличивается на 2 т.е. цикл переходит на след. адрес и порт

Имхо, мой код работает правильно. По мере выполнения скрипта на стр. как и нужно появляется это:

Выполнено, переменная удалена...
Выполнено, переменная удалена...
Выполнено, переменная удалена...
Выполнено, переменная удалена...
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
31.08.2011, 16:02
Цитата Сообщение от hatsub Посмотреть сообщение
PHP
1
"GET $host".$page." HTTP/1.0\r\n";
Забыли протокол.
PHP
1
"GET http://$host".$page." HTTP/1.0\r\n";
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.08.2011, 16:12  [ТС]
Да, все работает, на странице отображаются заголовки и код страницы, которую запрашиваю, но счетчик не увеличивается. странно
0
Почетный модератор
 Аватар для Humanoid
11554 / 4349 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
31.08.2011, 17:48
Цитата Сообщение от hatsub Посмотреть сообщение
Посмотрите внимательно на массив, адрес и порт в разных ячейках.
Ну да... торможу.
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
31.08.2011, 17:54  [ТС]
Humanoid, и все таки, как сделать чтобы счетчик считал такие обращения хостами а не "перезагрузками", поставить sleep(5); после отправки заголовков - не срабатывает
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
01.09.2011, 11:08
Хакерство какое-то
Это называется накрутка счетчика через открытые proxy-серверы
Все банально и тупо
И на форуме обсуждать взлом нельзя
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
01.09.2011, 18:30  [ТС]
odip, скажи это админу, писавшему выше...гы
0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
01.09.2011, 18:36
А что тут хакерского то? Просто наглая накрутка и все...
0
 Аватар для hatsub
61 / 60 / 7
Регистрация: 25.05.2011
Сообщений: 388
01.09.2011, 18:41  [ТС]
John_Pa9JIbHuK, вот только хосты крутить так и не получилось
0
Почетный модератор
 Аватар для Humanoid
11554 / 4349 / 452
Регистрация: 12.06.2008
Сообщений: 12,453
01.09.2011, 19:53
Цитата Сообщение от hatsub Посмотреть сообщение
скажи это админу, писавшему выше...
Просто я подходил к этому с точки зрения решения задачи. Но я согласен с odip, что затея не совсем приличная.
0
 Аватар для Vovan-VE
13210 / 6599 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
01.09.2011, 19:55
Цитата Сообщение от hatsub Посмотреть сообщение
вот только хосты крутить так и не получилось
X-Forwarded-For
0
Добрый самаритянин
 Аватар для John_Pa9JIbHuK
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
01.09.2011, 21:06
Так что получается через прокси сервера не обмануть счетчик?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.09.2011, 21:06
Помогаю со студенческими работами здесь

Как открыть сокет через прокси сервер?
Помогите пожалуста: как как открыть сокет через прокси сервер? наверно сначала fsockopen до прокси, а затем как-то fsockopen до...

Настроить php на работу через прокси сервер
Интернет работает через прокси сервер, в связи с этим при добавлении канала PEAR для установки phpunit вылазит ошибка: Connection to...

PHP - как открыть/прочитать файл из сокета через прокси сервер
не знаю правильно ли я выразился..., я имел ввиду как прочитать в переменную какой-либо файл с какого-нибудь сервера через прокси-сервер.

Php сокеты и unix-сокеты
Здравствуйте, есть программа, написанная на С под Linux. При её работе в памяти хранятся несколько массивов, которые необходимо обработать...

Цепочка прокси / Как не спалить IP сервера перед прокси
Здравствуйте, такая проблема. Есть свой сервис, который производит автоматический парсинг страниц другого сайта, клиент у себя в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru