Pull to refresh

Библиотека для упрощения HTTP-запросов

Python *
Requests — библиотека Python, которая элегантно и просто выполняет HTTP-запросы. Теперь не нужно осваивать urllib2 с излишне сложными программными интерфейсами.

Вот как выглядит HTTP-запрос с авторизацией с помощью requests:

>>> r = requests.get('https://api.github.com', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json'
Читать дальше →
Total votes 133: ↑117 and ↓16 +101
Views 146K
Comments 32

Бесплатные скринкасты для изучения Go

Website development *Go *
Tutorial
На сайте GoCasts.io опубликована небольшая подборка скринкастов, обучающих программированию на языке Go. Всего опубликовано три скринкаста от Алана Харпера. Приятно, что в качестве примеров выбраны не абстрактные, а самые практичные примеры из реальной жизни.

#1 – HTTP Get
Как осуществить простой HTTP-запрос с использованием пакета net/http в стандартной библиотеке Go.
Читать дальше →
Total votes 33: ↑31 and ↓2 +29
Views 9.5K
Comments 3

Баг на миллион долларов

Website development *IT Standards *
Голландский программист Жак Матти (Jacques Mattheij) — владелец сайта ww.com и один из первых людей, кто организовал прямые трансляции с веб-камер в интернете. Он обращает внимание на баг в HTTP, благодаря которому можно заметно ускорить работу множества веб-приложений и обычных веб-сайтов.

HTTP (RFC 1945) формально является синхронным протоколом. В стандарте чётко прописано, что HTTP-ответ может быть отправлен только после получения соответствующего HTTP-запроса. На практике же всё работает иначе.
Читать дальше →
Total votes 104: ↑59 and ↓45 +14
Views 19K
Comments 41

Удаленное управление VLC player’ом при помощи Arduino и Python

Python *
Sandbox
Добрый день, уважаемые читатели.

Я давно интересовался Arduino, и вот однажды решился на покупку этой замечательной платформы. После недолгих поисков приобрел небольшой Arduino kit, в котором, помимо прочего, был ИК-датчик и пульт к нему. Изучив примеры из мануала, понял, что настало время придумать что-то свое. В итоге я решил сделать удаленное управление VLC player’ом, используя магию Arduino и Python3.
Читать дальше →
Total votes 17: ↑15 and ↓2 +13
Views 14K
Comments 2

СМС-рассылка с Google Sheets API

JavaScript *Google API *
Sandbox
Недавно от знакомого фриланс-работодателя поступило предложение о небольшой работе, связанной с организацией смс-рассылки, данные для которой должны браться из .xls-таблицы. Плюс к этому было необязательное пожелание вынести эту же таблицу на корпоративный веб-сайт с обязательной возможностью её редактирования. При этом был озвучен весьма малый бюджет максимум на два человеко-дня.

Минимальное исследование существующих веб-инструментов работы с электронными таблицами показало, что разработка на их основе потребует времени в разы больше. Например, связка PHPExcel и какой-нибудь AJAX-таблицы выливалась в разработку функционала полноценного сайта. К тому же требующего отдельного хостинга в целях безопасности. Теоретически рассматривался вариант MS Excel + VB script, но и тут были свои подводные камни. В итоге выбор пал на Google Sheets.
Читать дальше →
Total votes 22: ↑17 and ↓5 +12
Views 25K
Comments 3

Небольшой скрипт для отслеживания цен avito из Google Spreadsheet

JavaScript *Google API *
Tutorial
Хочу поделиться с сообществом небольшим скриптом для загрузки цен с сайта объявлений AVITO в Google Spreadsheet. Вдруг кому-нибудь еще пригодится.

Логика такая — в цикле бежим по ячейкам таблицы с адресами и запрашиваем странички. Из полученных страниц получаем цену и подставляем в соседние ячейки. Запуск скрипта через пункт меню Avito -> Update Prices.

Page Sample
(наименнннование sic!)
Читать дальше →
Total votes 35: ↑32 and ↓3 +29
Views 42K
Comments 33

Основы Angular: HttpClient

Website development *JavaScript *Angular *
Translation
Tutorial

Самый распространенный способ получить данные из web служб — это через Http. И в этой статье мы посмотрим как это можно сделать Http-запрос в Angular 4.3 через новый HttpClient.


Начиная с версии Angular 4.3 появился новый HttpClient. В этой статье описывается только новый клиент.

Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Views 70K
Comments 17

Асинхронные HTTP-запросы на C++: входящие через RESTinio, исходящие через libcurl. Часть 1

Open source *Programming *C++ *

Преамбула


Наша команда занимается разработкой небольшого, удобного в использовании, встраиваемого, асинхронного HTTP-сервера для современного C++ под названием RESTinio. Начали его делать потому, что нужна была именно асинхронная обработка входящих HTTP-запросов, а ничего готового, чтобы нам понравилось, не нашлось. Как показывает жизнь, асинхронная обработка HTTP-запросов в C++ приложениях нужна не только нам. Давеча на связь вышли разработчики из одной компании с вопросом о том, можно ли как-то подружить асинхронную обработку входящих запросов в RESTinio с выдачей асинхронных исходящих запросов посредством libcurl.

По мере выяснения ситуации мы обнаружили, что эта компания столкнулась с условиями, с которыми сталкивались и мы сами, и из-за которых мы и занялись разработкой RESTinio. Суть в том, что написанное на C++ приложение принимает входящий HTTP-запрос. В процессе обработки запроса приложению нужно обратиться к стороннему серверу. Этот сервер может отвечать довольно долго. Скажем, 10 секунд (хотя 10 секунд — это еще хорошо). Если делать синхронный запрос к стороннему серверу, то блокируется рабочая нить, на которой выполняется HTTP-запрос. А это начинает ограничивать количество параллельных запросов, которые может обслуживать приложение.
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views 8.6K
Comments 0

Сервис проверки HTTP-заголовков сервера

ITSOFT corporate blog Hosting Website development *Server optimization *Server Administration *
Для любого сайта важно правильно настроить HTTP-заголовки. На тему заголовков было написано много статей. Здесь мы обобщили накопленный опыт, документацию RFC. Какие-то из заголовков обязательные, какие-то устаревшие, какие-то могут вносить путаницу и противоречия. Мы сделали пузомерку для автоматической проверки HTTP-заголовков веб-сервера. В отличии от многих других сервисов, которые просто показывают заголовки, данный сервис позволяет:

  1. задать значение типовых заголовков;
  2. добавить свои произвольные заголовки;
  3. указать версию HTTP-протокола: 1.0, 1.1, 2 (проверяет поддерживается ли HTTP/2);
  4. указать метод запроса, время ожидания и данные postdata для отправки на сервер;
  5. также пузомерка проверяет корректность ответа на запросы If-Modified-Since, If-None-Match, если в ответе сервера есть Last-Modified или ETag.
Читать дальше →
Total votes 13: ↑11 and ↓2 +9
Views 8.1K
Comments 25

HTTP headers checker

Hosting Website development *Server optimization *Server Administration *
Translation
For any site, it is important to properly configure the HTTP headers. A lot of articles have been written on the subject of headings. Here we have summarized the lessons learned, the RFC documentation. Some of the headings are mandatory, some are obsolete, some can be confusing and contradictory. We did a parsing to automatically check the HTTP headers of the web server.

Correct HTTP headers increase security and trust in the site, including from search engines, can affect the site’s position in Yandex and Google, save server resources, reduce server load, thereby increasing the server response speed, which again affects the ranking of the site in the search, save money on payment powerful hosting, which may not be required for the site when configured correctly.
Read more →
Rating 0
Views 2K
Comments 2

API для генерации ответов сервера с любыми кодами статусов

API *Web services testing *

Привет, Хабр! Работая над библиотекой-обёрткой REST API, я столкнулся с проблемой. Для тестирования обработки ошибочных кодов ответа сервера (400, 500, 403 и т.д.) необходимо искусственно создавать условия на сервере для получения соответствующих кодов. При правильно настроенном сервере, например, непросто получить ошибку 500. А тестировать функции-обработчики ошибок как-то надо. Я написал небольшое API, которое генерирует ошибочные ответы сервера — httpme.tk

Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Views 5.2K
Comments 19

Ugly API

PHP *API *Dart *Flutter *

In this article, I’d like to talk about the problems I faced while integrating an API for the HTTP protocol and share my experience in solving them.

- REST vs Non REST architecture

- Ignoring Header Accept: application/json

- Mixing JSON keys case types

- Different response to the same request

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 1.8K
Comments 0

Создание внешних запросов с использованием HttpFactory (Joomla)

CMS *Website development *PHP *API *Joomla *
Translation
Tutorial

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

С использованием Joomla довольно легко настроить cURL и все необходимые резервные варианты подключений в одной строчке кода.

Читать далее
Total votes 8: ↑7 and ↓1 +6
Views 1.5K
Comments 4