Сегодня
28 ноября 2024
10:43
Вход Регистрация Забыли пароль ?

In The Walls of Eryx | ZX Spectrum | maze game | Monster's Legs Productions, 2016
In The Walls of Eryx | ZX Spectrum | maze game | Monster's Legs Productions, 2016 Автор(ы): Kevin McGrorty
подробнее...

Теги

сайты, игры, дизайн, продвижение, php, html, css, my sql, c++, delphi, photoshop, 3ds max, fl studio, трекерская музыка, уроки

Статьи сайта

Web Администрирование

Уроки Верстки

Система автоматизированной е-майл рассылки

Система автоматизированной е-майл рассылки

webinformatic - Выгрузка файла на сайт

webinformatic - выпадающее меню на html и css

webinformatic - Использование checkbox

Краеугольная особенность работы Web-form на примере смены состояния checkbox

Технологии WEB

Технологии WEB - AJAX-запросы

Часто Задаваемые Вопросы

Продукты

Проблемы с кодировками при отображении страниц

игра Нечто: Необъяснимое Нить Накала - "в плену желаний"

Система Автоматизации Доставки Электронных Заказов megainformatic cms e-pro

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

megainformatic cms e-pro Автоматизация Обработки Уведомлений о Заказах по партнерским программам

webinformatic: Музыкальная страничка трэкера

webinformatic - Создание музыки и звука

webinformatic: Создание музыки и звука: урок 2

webinformatic - Создание музыки и звука: урок 3 - настройка Impulse Tracker для работы в WinXP

webinformatic - Создание музыки и звука: урок 4 - Введение в Mod Plug Tracker

webinformatic - Создание музыки и звука: урок 5 - Первая композиция в Mod Plug Tracker

webinformatic - Создание музыки в Impulse Tracker 2.14 - урок 6 - Ввод Нот

webinformatic - Создание музыки в Impulse Tracker 2.14 Первая мелодия

webinformatic - Создание музыки в Impulse Tracker 2.14 Настройка параметров сэмплов

webinformatic - Создание музыки и звука: теория и практика создания трэкерской музыки

webinformatic - Инструкция по оплате услуг средствами WebMoney

Основы работы в Microsoft Visual Studio 2008 и DirectX 9 (DX SDK Aug 2008)

Введение в программирование игр на С++ для платформы DirectX 9 - Первый старт

Введение в программирование игр на С++ для платформы DirectX 9 - Меняем иконку приложения

Введение в программирование игр на С++ для платформы DirectX 9 Добавляем другую модель

Введение в программирование игр на С++ для платформы DirectX 9 Программирование игр в directx. Hello, World!

Введение в программирование игр на С++ для платформы DirectX 9 Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++

Разбираем конструкции языка C++ на примере работы в Microsoft Visual Studio 2008 - Урок 1 Основные операторы языка C++ (часть 2)

Урок 2 Написание Win32-приложений. Обзор стартового кода Win32-приложения. Добавление ресурса текстовая строка

Урок 3 Создание Win32-приложений. Создание меню и простых диалоговых окон.

Урок 4 Создание Win32-приложений. Стандартные диалоги. Изучение сопутствующих конструкций языка. Консольные Win32-приложения. Указатели. Ссылочный тип. Массивы.

Урок 4 часть 2 Win32. Диалог выбора цвета, смена цвета фона окна приложения

Написание приложения DirectX9c + MFC в среде MSVS 2005

webinformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7

webinformatic - Создание компьютерных игр на основе DirectX в среде Delphi 6, 7 - Почему избраны DX8 и Delphi ?

webinformatic - Основы IDirectMusic8 в среде Delphi6-7

webinformatic - Основы DirectInput8 в среде Delphi 7

webinformatic - Основы DirectSound8 в среде Delphi6-7

webinformatic - Плагин для 3DS MAX из DX9 SDK

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2)

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 2

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 3

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 4

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 5

webinformatic - Мастер-класс: Создание модели и текстуры Коммандного Центра (как в StarCraft 2) Часть 6

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

Система управления сайтом - megainformatic cms e-shop

Работа с сокетами fsockopen из php

[к содержанию]

В данной статье хочу поделиться с Вами, уважаемые читатели, личным опытом использования fsockopen на языке php.

Для начала к вопросу о том, для чего вообще нужны сокеты ?

Рассмотрим небольшой пример.

<?php

$ret = "\r\n"; //каждая строка запроса должна завершаться символами возврата курсора
//и перевода строки

$host = 'varve.ru'; //указываем сайт, к которому адресуем запрос

$fsocket_connect = fsockopen($host, 80, $errno, $errstr, 30); //выполняем соединение, через
//порт 80, errno - код ошибки, errstr - описание ошибки,
//ожидание соединения до 30 сек

if ( !$fsocket_connect ) {

echo $errstr." (".$errno.")<br>\n"; //выводим код ошибки, если соединение не удалось

} else {

//формируем строки нашего HTTP запроса -

$out = "GET / HTTP/1.1".$ret; //запрос GET по протоколу http 1.1
$out .= "Host: ".$host.$ret; //адрес хоста (сайта)
$out .= "Connection: Close".$ret.$ret; //команда закрытия соединения

$responce = ''; //в этой переменной получим ответ

fwrite($fsocket_connect, $out); //выполняем запись в открытый сокет - т. е. выполняем запрос
while (!feof($fsocket_connect)) //выполняем чтение из сокета - пока не будет получен сигнал конца потока - т. е. получаем ответ {
$responce .= fgets($fsocket_connect, 128); //строки ответа заносим в переменную responce
}
fclose($fsocket_connect); //закрываем сокет

$responce = explode($ret, $responce); //выполняем разбиение ответа (responce) на массив строк

echo '<pre>';
var_dump($responce); //выводим содержимое переменной responce
echo '</pre>';

}

?>

Если вы разместите данный код в файле php скрипта и выполните его, то в переменной responce получите ответ сайта varve.ru по запросу записанному в строках с переменной $out.

Т. е. сокеты нужны, для того чтобы выполнять TCP/IP запросы (request) и получать ответы (responce) на них.

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

Таким образом скрипт превращается в робота, который по заданному алгоритму может оставлять посты на форуме без вашего участия. Такой скрипт может работать через cron, т. е. планировщик задач. В заданное время скрипт будет запускаться и выполнять полезную работу.

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

Конечно, чтобы писать запросы и корректно обрабатывать результаты потребуются дополнительные знания. Кроме того, для работы с конкретным сайтом через сокет нужно будет знать и учитывать множество особенностей и нюансов. Их рассмотрение выходит за рамки данной статьи, но всё же кое о чём я могу вам рассказать.

Почерпнуть информацию о том, как выполняются запросы и ответы к конкретному сайту через обычный браузер, получая при этом полную информацию о выполняемом запросе и ответе можно при помощи специальных инструментов. Например браузер Google Chrome по нажатию на клавишу [F12] выдает панель инспектора кода. Используя её и вкладку Network можно исследовать выполняемый к сайту запрос и узнать всё необходимое.

браузер Google Chrome по нажатию на клавишу [F12] выдает панель инспектора кода. Используя её и вкладку Network можно исследовать выполняемый к сайту запрос и узнать всё необходимое.

Алгоритм действий тут примерно такой - включаем браузер Google Chrome, вызываем инспектор кода по [F12].

Открываем вкладку Network. Обычным способом переходим на нужную страницу сайта (не закрывая инспектор кода).

При этом получим полный список обращений к различным файлам. Главный файл, к которому идёт обращение обычно расположен в самом начале, поэтому прокручиваем полосу прокрутки на начало и кликаем этот файл.

Алгоритм действий тут примерно такой - включаем браузер Google Chrome, вызываем инспектор кода по [F12].
Открываем вкладку Network. Обычным способом переходим на нужную страницу сайта (не закрывая инспектор кода).
При этом получим полный список обращений к различным файлам. Главный файл, к которому идёт обращение обычно расположен в самом начале, поэтому
прокручиваем полосу прокрутки на начало и кликаем этот файл.

Получаем всю необходимую информацию - полный URL запроса (Request URL), результат выполнения - 200 - т. е. ОК, какой заголовок запроса Request Headers и какой заголовок ответа Responce Headers был получен.

Т. е. тут можно найти всё что нужно, чтобы написать запросы для обращений к сайту посредством сокетов.

В наше время информационного бума уже нереально рассчитывать только на собственные силы - нужно использовать роботов, хотя бы программных, которые могут и должны выполнять те или иные рутинные, большие по объёму и времени задачи, такие как сбор нужной информации с сайтов и её обработка.

Всё это можно реализовать с использованием сокетов. Я надеюсь еще вернуться к теме сокетов в последующих статьях, т. к. тема достаточно обширна.

Спасибо за внимание и проявленный интерес к статье.



[к содержанию]

 
Something: Unexplained 2 captive of desires / Нечто: Необъяснимое 2 в плену желаний
Костя Коробкин Комикс Коллекционное издание - 6 комиксов, 81 страница, 220 mp3 треков
Время загрузки: 0,1833