Меню Рубрики

Установка php скриптов сайта

Как правильно подключить JS- и PHP-скрипты к вашему сайту?

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

Подключение JS-скриптов (файлы с расширением *.js) к сайту

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

Подключение JavaScript’а осуществляется двумя способами:

1. Первый – это непосредственно вставка кода в ваш сайт с помощью тегов:

2. Второй – с помощью файла:

Где «https://www.pandoge.com/main.js» – путь до файла скрипта. Такой вариант рекомендуется писать для файлов на удаленном (внешнем) сервере. Если же файл находится на вашем сайте, то можно просто указать относительный путь:

Это удобно, если вы вдруг захотите сменить домен или перевести сайт на другой протокол.

Что касается места подключения, то все скрипты рекомендуется подключать в секции HEAD, перед закрывающим ее тегом. Например:

Их также можно подключить в секции BODY. Например, все библиотеки рекомендуется подключать в секции HEAD, тогда как все счетчики, слайдеры, галереи и прочие скрипты – в секции BODY, также перед закрывающим тегом.

Подключение PHP-скриптов (файлы с расширением *.php) к сайту

Подключение PHP-скриптов осуществляется уже тремя способами:

1. Первый – это та же вставка кода в саму страницу сайта (обратите внимание, что если вы имеете страницу с расширением *.html – вам необходимо сменить расширение на *.php) с помощью тегов:

2. С помощью файла (в таком случае подключение можно осуществлять и на странице с *.html расширением):

Но для работы этого способа в файл .htaccess, который находится в корне вашего сайта, в самый верх, необходимо добавить эти строки:

Если такого файла нет на хостинге — создайте его через любой текстовый редактор.

3. Третье – с помощью JS-скрипта. В этом случае вы также можете получить результат выполненного PHP-скрипта на сервере.

Реализация будет следующая:

Где «.result» – это класс, куда будут грузиться данные, а «/main.php», соответственно, адрес до PHP-скрипта.

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

Здесь правила абсолютно те же: полный адрес к файлу, если он находится на внешнем сервере, относительный – если на вашем.

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

Если вы осуществляете подключение скриптов первый раз – попробуйте подключить скрипты из архива, который прикреплен в конце статьи. Если в обоих случаях вы получили сообщение «Hello World!» – значит, вы все сделали правильно.

источник

Подробная инструкция по установке любого скрипта на любой хостинг

Первоначальные действия по установке практически любого скрипта на любой нормальный хостинг одинаковы: нужно создать базу данных, залить файлы скрипта на сервер, прилинковать домен. В этом посте будет приведена подробная инструкция по установке скрипта интернет магазина (или любой другой CMS) на хостинг BeGet. Этот хостинг подойдет как нельзя кстати: 30 дней бесплатного тестового доступа позволят вам вдоволь потренироваться.

Введение

Эта инструкция подойдет практическидля любого хостинга. Так как панели управления всех хостингов схожи. Возможны различия в названиях пунктов меню и в диалогах. Но я думаю вы разберётесь: все хостинги выполняют одну функцию и смена названий не меняет общий смысл.

Весь список рекомендуемых нами хостинг-провайдеров можете посмотреть в разделе Хостинг нашего сайта. А в этой статье вы сможете подобрать бесплатный хостинг, а так же хостинг с длительным бесплатным тестовым аккаунтом.

Итак, вы зарегистрировались на хостинге, вы скачали дистрибутив со скриптом. Давайте осмыслим что мы будем делать дальше. Скрипт это набор папок и файлов. В этих файлах содержится инструкции по управлению сайтом. А что же есть сайт — это набор данных: текста, картинок, товаров, производителей. Для хранения этих данных скрипт будет использовать базу данных. Чаще всего MySQL. Значит перед тем как установить скрипт нам нужно на хостинге создать базу данных, а скрипту сообщить параметры доступа к этой базе. Это делается один раз при установке. Сайт также должен иметь уникальное имя: доменное имя. Это имя привязывается к папке со скриптом.

Получается, что сайт физически это папка со скриптом, который имеет доступ к базе данных, для хранения всей информации. К этой папке можно прилинковать любое доменное имя. Отсюда хронология наших действий будет такая:

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

Зарегистрироваться на хостинге я думаю не составит труда: выбираем тариф Старт (впринципе не важно какой, если станет тесно — в любой момент можно сменить тариф), вводим в форме своё имя и E-mail и ждём письма, в котором будут указаны пароли для доступа на хостинг. После регистрации у вас есть 30 дней на попробовать, если не захотите пользоваться хостингом, то через 30 дней ваш аккаунт и сайты просто будут удалены.

После регистрации и входа на хостинг видим Панель управления (ПУ) хостингом:

Панель управления хостинга Beget

Создаём на хостинге базу данных

Для того что бы создать базу данных на хостинге нужно в ПУ кликнуть на пиктограмме MySQL. В результате откроется панель управления базами данных:

Создание базы данных на хостинге

Сдесь мы указываем имя базы данны и пароль. Жмём кнопку Создать. База данных создана. Нам остаётся только запомнить введённые данные. Мы их и будем передавать скрипту при установке. Замечаем что перед именем базы данных есть префикс и именем базы будет считаться то имя которое получается в результате склейки этого префикса и того имени которое вы ввели. В дальнейшем при установке скрипта нужно будет ввести: имя базы данных, имя пользователя, пароль. Имя пользователя на этом хостинге не вводится — оно совпадает с именем базы данных.

Создаём сайт (директорию для сайта) и прилинковываем доменное имя

Для того что бы закачать файлы скрипта на хостинг нам нужно создать под сайт отдельную папку: ведь на хостинге может быть расположено несколько сайтов — файлы каждого должены располагаться в отдельной директории. При создании аккаунта на хостинге автоматически создаётся одна папка: public_html. В неё и будем заливать скрипт. Если в дальнейшем понадобится создать второй сайт то используем пункт Сайты в ПУ:

Читайте также:  Установка и настройка своего сервера centos

Создание директории для сайта

Для того что бы создать сайт (директорию) указываем имя и жмём кнопку создать.
Ничего сложного. В дальнейшем созданную директорию увидим в файловом менеджере при загрузке файлов скрипта на хостинг. Так же в этом пункте панели управления можно прилинковать (прикрепить) одно из имеющихся доменных имен к директории сайта. В нашем случае к директории public_html должно быть прилинковано бесплатное доменное имя третьего уровня вида НазваниеАккаунта.bget.ru. Его мы плучаем при создании аккаунта. В дальнейшем к уже созданному сайту можно прилинковать нормальное доменное имя второго уровня.

Закачиваем файлы скрипта на хостинг

Существует два способа закачки скрипта на хостинг: через файловый менеджер панели управления хостингом или через FTP.

Что бы использовать файловый менеджер ПУ заходим в соответствующий раздел. В отдельном окне откроется файловый менеджер:

Файловый менеджер хостинга BeGet

В файловом менеджере открываем одинарным сщелчком папку public_html. Там видим файл index.html, его нужно удалить. Затем жмём на кнопочку Закачать. Откроется стандартное окно выбора файла. Выбираем архив со скриптом и закачиваем на хостинг. Важно закачивать именно архив, а не папку с файлами — это намного быстрее. Архив после закачки нужно разорхивировать, после этого удалить сам файл архива.

Установка скрипта на хостинг

Что бы началась установка нужно в браузере ввести адрес вашего сайта: доменное имя в данный момент прилинкованное к сайту. У нас это рабочее имя 3 уровня полученное при регистрации: ИмяАккаунта.bget.ru.

В процессе установки вы введёте имя базы данных, имя пользователя и пароль к базе данных, полученные ранее.

Дальнейший ход установки интернет магазинов описан в соответсвующих постах:

[Робот подобрал для вас похожие посты:]

  1. Создание архивной копии любого скрипта интернет магазинаДелать архивные копии интернет магазина очень важно. В случае какого.
  2. Перенос интернет-магазина на другой хостингОчень часто запуск интернет-магазина затягивается из-за того, что вы не знаете.
  3. Подробный урок по установке PrestaShop 1.6Ранее мы уже публиковали урок по установке PrestaShop 1.3. В.
  4. Установка OpenCartУстановка OpenCart очень проста, может даже сама простая из всех.

Чек лист по выбору доменного имени для интернет-магазина А так же 7 мини-инструкций по подключению доменного имени к интернет-магазину (на любой современной платформе).

источник

Скрипты для сайта html

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

Дело в том, что языки HTML и CSS имеют очень ограниченные возможности. С их помощью можно только создать и оформить страницу, организовать какие-то простые эффекты при наведении, добавить ссылки на другие страницы и т.д. Но для большинства современных ресурсов этого мало. Вот какие возможности используются на многих веб-сайтах сегодня: календари, умные виджеты, счетчики посещаемости, формы регистрации и добавления комментариев, слайдеры и многое-многое другое.

Чаще всего под скриптом понимают файл или несколько файлов, которые написанные на языке javascript и каким-то образом дополняют функциональность сайта. Но сценарии можно создавать на любом языке программирования: PHP, Perl, Python и т.д. Больше всего скриптов существует на PHP и JavaScript, так как это самые популярные сегодня технологии.

Где скачать готовые скрипты для сайта html

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

Например, hotscripts.com. Огромный зарубежный портал, на котором представлено более десяти тысяч сценариев и программ на самых разных языках программирования. В том числе там есть различные полезные вещи на HTML5. Только все на английском, поэтому как-то вам придется разбираться, если очень надо будет.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Рис. 1. Крупнейший в интернете портал скриптов. К сожалению, только для тех, кто дружит с английским.

Ну а это русскоязычная библиотека скриптов. В основном тут представлены материалы по PHP. В данном случае русскоязычный сайт выигрывает тем, что почти все инструкции по установке скриптов на русском, а значит, разобраться намного легче.

Как устанавливать и подключать скрипты

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

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

Чем отличаются javascript и php скрипты

Разница в том, что на javascript чаще всего создают красивые элементы оформления, пишут сценарии, которые срабатывают при различных действиях посетителя. Например, можно менять расположение элементов на веб-странице, менять цветовую схему сайта и даже его структуру. Например, на многих крупных порталах вы сами можете настроить дизайн сайта. Именно там применяется javascript и его самая популярная библиотека – jQuery.

PHP в этом плане очень сильно отличается. Этот язык создан в основном для расширения функциональности. С его помощью оживают всевозможные формы регистраций, отзывов и комментариев. Скрипт обратной связи для сайта html также можно написать на PHP. На самом деле возможности этого языка намного более широкие.

На нем написаны самые популярные движки, такие как WordPress, с его помощью создаются библиотеки, счетчики, карты сайтов, инструменты для администрирования на хостинге и сотни других вещей. В этом плане PHP может гораздо больше, чем javascript.

Практический курс по верстке адаптивного сайта с нуля!

Изучите курс и узнайте, как верстать современные сайты на HTML5 и CSS3

Пример установки скрипта

Ну а теперь давайте установим какой-нибудь скрипт. Методом случайного тыка я выбрал этот — ссылка. Это графические часы. Сначала давайте распакуем скачанный архив и посмотрим, что там.

Мне сразу не понравилось, что там целых 14 изображений, которые нужны для работы. Ну да ладно, не будем сейчас оценивать качество скрипта, а просто установим его.

Для этого нужно открыть файл index.html. Там нас должен интересовать тег script и все его содержимое. Собственно, вариантов установки веб-сценария два:

Читайте также:  Установка cpanel for debian

Просто скопировать все содержимое тега script и вставить на свою страничку в тег head.

Скопировать код в отдельный файл (например, script.js), а потом подключить этот файл к html-страничке. Так мы поступим правильно с точки зрения стандартов, разделив разметку страницы и ее поведение.

Дальнейший процесс установки заключается в том, что тегу body нужно дописать атрибут onload = «show3()». Это означает, что после загрузки тела страницы должна быть выполнена функция show3(), которая и приводит в действие наши часы.

Теперь нам остается только вставить в тело страницы строчку кода, которая будет создавать необходимые элементы для показа часов. В скрипте по умолчанию прописано так:

источник

Запускаем PHP-скриптики через php-fpm без web-сервера. Или свой FastCGI-клиент (под капотом)

Приветствую всех читателей «Хабра».

Дисклеймер

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

Вступление

В данной статье хотелось бы рассказать о решении довольно нестандартной задачи, с которой пришлось столкнуться во время рабочего процесса. А именно, нам понадобилось запускать в цикле кучу php скриптов. О причинах и о спорности подобного архитектурного решения в данной статье распространяться не буду, т.к. собственно она и не про это вовсе, просто была задача, ее нужно было решить и решение показалось мне достаточно интересным чтобы им поделиться с Вами, тем более манов по данному вопросу в интернете я не нашел совсем (ну разумеется кроме официальных спецификаций). Спеки конечно это хорошо и в них конечно все есть, но думаю вы согласитесь, что если вы не особо знакомы с темой, да и еще и ограничены по времени то разбираться в них то еще удовольствие.

Для кого эта статья

Для всех кто работает с web-ом и о протоколе FastCgi знает лишь что это протокол в соответствии с котороым web-сервер запускает php скриптики, но хочет более детально его изучить и заглянуть под капот.

Обоснование (зачем эта статья)

В общем как я уже писал выше когда мы столкнулись с необходимостью запускать много php скриптов без участия web-сервера (грубо говоря из другого php скрипта), то первое что пришло на ум это .

Но при запуске каждого скрипта, будет создаваться окружение, запускаться отдельный процесс, в общем как то затратно по ресурсам нам показалось. Данную реализацию отвергли. Второе что пришло на ум это конечно же php-fpm, он ведь такой крутой, всего один раз запускает окружение, следит за памятью, все там логирует, корректно запускает и останавливает скрипты, в общем все делает круто, и нам конечно же этот путь понравился больше.

Но вот незадача, в теории то мы знали как это работает, в общих чертах (как оказалось в очень общих), но вот реализовать этот протокол на практике без участия web-сервера оказалось довольно трудно. Чтение спецификаций и пару часов безуспешных попыток показали что для реализации потребуется время, которого у нас на тот момент не было. Манов по реализации данной затеи, в которых было бы просто и понятно описано данное взаимодействие не нашлось, спеки наскоком взять тоже не удалось, из готовых решений нашли питоновский скрипт и пыховскую либу на гитхабе, которую в итоге не захотели тащить к себе в проект (может это и не правлиьно но не особо мы любим всякие сторонние библиотеки да еще и не очень то и популярные, а значит и не проверенные). В общем по итогу от этой идеи мы отказались и реализовали все это через старых добрый rabbitmq.

Хоть задачу в итоге и решили, но разобраться в FastCgi детально я все таки решил, и в добавок решил написать об этом статью, в которой будет просто и подробно описано как заставить php-fpm запустить php скрипт без web-сервера, а точнее в качестве web-сервера будет другой скрипт, далее его буду называть Fcgi клиент. В общем надеюсь что данная статья поможет тем кто столкнулся с такой же задачей как и мы и прочитав ее сможет быстро все написать как ему надо.

Творческий поиск (ложный путь)

Итак проблема обозначена, надо приступать к решению. Естественно как любой «нормальный» программист для решения задачи, про которую ни где не написано что делать и что вводить в консоль, я не стал читать и переводить спецификацию, а сразу же придумал свое «гениальное» решение. Суть его в следующем, я знаю что nginx (мы используем nginx и чтобы не писать далее дурацкое — web-сервер, буду писать nginx, так как то посимпатичнее) что то передает в php-fpm, это что то php-fpm обрабатывает и на основе него запускает скрипт, что ж вроде все просто, возьму да залогирую то что передает nginx и передам то же самое.

Тут поможет великолепный netcat (UNIX-утилита для работы с сетевым трафиком, которая по моему может практически все). Итак ставим netcat на прослушивание локального порта, а nginx настраиваем на работу с php файлами через сокет (естественно сокет на том же порту который слушает netcat)

Проверить что все ок, можно обратившись через браузер на адрес 127.0.0.1:9000 должна быть следующая картина

настраиваем nginx чтобы он php скрипты обрабатывал через сокет на 9000 порту (в настройках ‘/etc/nginx/sites-available/default’, конечно могут отличаться)

После этих манипуляций проверим что же получилось, обратившись к php скрипту через браузер

Видно что nginx отправил переменные окружения, а также непечатаемые символы, то есть данные были переданы в двоичной кодировке, а это значит что так просто их нельзя скопировать и послать в сокет php-fpm. Если сохранить их в файл например то они сохраняться в 16-ричной кодировке, выглядеть это будет примено так

Но это тоже мало что нам дает, наверное чисто теоретически их можно перевести в двоичную кодировку, каким то образом (даже не представляю каким) их отправить в сокет fpm, и даже есть вероятность что весь этот велосипед как то сработает, и даже запустит какой то скрипт, но уж как то все это страшненько и кривенько.

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

Все пропало, изучения спецификации не миновать!

Решение (тут собственно начинается вся соль данной статьи)

Теоретическая подготовка

Давайте теперь рассмотрим как же все таки происходит соединение и обмен данными между nginx и php-fpm. Немного теории, все общение происходит как уже понятно через сокеты, далее будем рассматривать конкретно соединение через TCP сокет.

Читайте также:  Установки для матирования стекла

Единицей информации в протоколе FastCgi является cgi запись. Такие записи сервер отправляет приложению и точно такие же записи получает в ответ.

Немного теории (структуры)

Далее рассмотрим структуру записи. Для понимания из чего состоит запись нужно понимать что из себя представляют Си подобные структуры и понимать их обозначения. Для тех кто не знает далее это будет кратко (но достаточно для понимания) описано. Описать постараюсь как можно проще, в детали углубляться тут нет смысла, да и боюсь что в деталях запутаюсь, главное чтобы было общее понимание.

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

Что тут видно, у нас есть некоторые биты, что это за биты мы понятия не имеем. Ну давайте попробуем например их разделить на байты и представить в десятичной системе

Отлично мы интерпретировали их и получили какие то результаты, допустим что эти данные отвечают за то сколько определенная квартира должна за электроэнергию. Получается что в доме 222 квартира номер 2 должна заплатить 88 рублей. А что еще за две цифры, что с ними делать просто отбросить? Конечно нет! дело в том что мы не имели нотации (формата) которая подсказала бы нам как интерпретировать данные, и интерпретировали их по своему, в связи с этим получили не только бесполезный, но и вредный результат. В итоге квартира 2 заплатила совершенно не то что должна была. (примеры конечно надуманные и служат лишь для того чтобы более понятно объяснить ситуацию)

Теперь посмотрим как же мы должны были интерпретировать правильно эти данные, имея нотацию (формат). Далее буду называть вещи своими именами, а именно нотация = формат (вот тут форматы).

Теперь все сходиться в доме №222 квартира 600 за электричество должна 1000 рублей Думаю теперь ясна важность формата, и теперь понятно как примерно выглядит условно Си подобная структура. (прошу обратить внимания, тут цель не детально объяснить что такое эти структуры, а дать общее понимание что это такое и как это работает)

Условное обозначение данной структуры будет такое

Еще немного теории (FastCgi записи)

Как я уже сказал выше единицей информации в протоколе FastCgi являются записи. Записи сервер отправляет приложению и такие же записи получает в ответ. Запись состоит из заголовка и тела с данными.

  1. версия протокола (всегда 1) обозначается 1 байтом (‘C’)
  2. тип записи. Для открытия, закрытия соединения и др. все не буду рассматривать, далее рассмотрю только то что понадобится для конкретной задачи, если нужны другие — добро пожаловать сюда спецификация. Обозначается 1 байтом (‘C’).
  3. ID запроса, произвольное число, обозначается 2 байтами (‘n’)
  4. длинна тела записи (данных), обозначается 2 байтами (‘n’)
  5. длинна выравнивающих данных и зарезервированные данные, по одному байту (тут не нужно особо обращать внимания, дабы не отвлекаться от главного в нашем случае всегда будет 0)

Далее идет само тело записи:

  1. сами данные (тут то именно и передаются переменные), могут иметь довольно большой размер (до 65535 байт)

Вот пример самой простой FastCgi записи в двоичном виде с форматом

Практика

Скрипт клиент и передающий сокет

Для передачи данных будем использовать стандартное php расширение socket. И первое что нужно будет сделать — это настроить php-fpm на прослушивание порта на локальном хосте, например 9000. Это делается в большинстве случаем в файле ‘/etc/php/7.3/fpm/pool.d/www.conf’, путь конечно зависит от настроек вашей системы. Там нужно прописать примерно следующее (всю портянку привожу чтобы можно было сориентироваться, главная секция здесь listen)

После настройки fpm, следующим этапом будет подключение к сокету

Начало запроса FCGI_BEGIN_REQUEST

Для открытия соединения мы должны отправить запись с типом FCGI_BEGIN_REQUEST = 1 Заголовок записи будет такой (для приведения числовых значений к бинарной строке с заданным форматом будет использована php функция pack())

Тело записи для открытия соединения должно содержать роль записи и флаг управляющий соединением

Итак запись для открытия соединения успешно отправлена, php-fpm ее примет и далее будет ожидать от нас дальнейшей записи в которой нужно передать данные для разворачивания окружения и запуска скрипта.

Передача параметров окружения FCGI_PARAMS

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

Минимальные необходимые параметры окружения

Первое что нам тут нужно сделать — это подготовить необходимые переменные, то есть пары имя => значение, которые мы передадим приложению.

Структура пар имя значение будет такая

Идет сначала 1 байт — длинна имени, потом 1 байт значение

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

Закодируем наши переменные в соответствии форматом

Тут значения меньше 128 бит кодируются функцией chr($keyLen), больше pack(‘N’, $valLen), где ‘N’ обозначает 4 байта. И затем все это слепляется в одну строку в соответствии с форматом структуры. Тело записи готово.

В заголовке записи передаем все то же самое как и в предыдущей записи, кроме типа (он будет FCGI_PARAMS = 4) и длинны данных (она будет равна длине пар имя => значение, или длине строки $keyValueFcgiString которую ранее мы сформировали).

Получение ответа FCGI_PARAMS

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

Получаем заголовок, он всегда равен 8 байт (получать данные будем по байту)

Теперь в соответствии с полученной длинной тела ответа сделаем еще одно чтение из сокета

Ура все сработало! Наконец то!
Что мы имеем в ответе, если например в этом файле

то в ответе получим в итоге

Итоги

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

источник

Добавить комментарий

Adblock
detector