LibSoup - это абсолютно бесплатный, простой в использовании и открытый исходный HTTP-протокол (Hypertext Transfer Protocol) сервер и клиентская библиотека, используемые в самых разных приложениях, предназначенных для графической среды GNOME, в операционных системах на базе ядра Linux.
При поддержке проектов GLib и GObjects
В проекте LibSoup используется мощная библиотека GLib как основной цикл, а программное обеспечение GObjects для интеграции с большинством приложений GNOME. Он поддерживает прокси-сервер, включая аутентификацию и туннелирование SSL.
Поддержка SSL через GnuTLS
Библиотека автоматически кэширует соединения, содержит асинхронные (GMainLoop и callback-based) и синхронные API (интерфейсы прикладного программирования) и поддерживает SSL (Secure Sockets Layer) через GnuTLS.
Предлагает поддержку прокси и множество других привлекательных функций
Среди других интересных функций можно упомянуть поддержку клиентов для Digest, Basic authentication и NTLM, поддержку клиентов и серверов для поддержки XML-RPC, прокси-сервера, включая аутентификацию и SSL-туннелирование, а также поддержку сервера для аутентификации Basic и Digest .
Начало работы с LibSoup
Чтобы установить библиотеку LibSoup в вашей операционной системе GNU / Linux, вам нужно будет загрузить последнюю версию программного обеспечения из Softoware, сохранить ее в выбранном вами местоположении и распаковать в текущем каталоге.
Откройте приложение «Терминал», перейдите к тому месту, где вы извлекли файл архива (например, cd /home/softoware/libsoup-2.49.1), запустите & lsquo;. configure && make & rsquo; команду для настройки и компиляции программы, затем выполните команду & lsquo; ./ configure && make & rsquo; для настройки программы.
После успешной операции компиляции запустите любую из & lsquo; make install & rsquo; или «sudo make install & rsquo; команды, в зависимости от того, используете ли вы root или пользователь с привилегиями, установить библиотечную систему LibSoup и начать использовать ее в своих проектах.
Что нового в этой версии:
- Упростить soup_hosts_matches_host () [Claudio Saavedra]
- Добавить новые тесты для конечных точек в именах доменов [Claudio Saavedra]
- Обновленный турецкий перевод
Что нового в версии 2.63.2:
- Многие исправления для поддержки системы сборки мезонов [# 795324, # 782410, Tomas Popela, Jan Alexander Steffens]
- Исправлены ошибки xmlrpc-server с PHP & gt; = 7.2 и связанные с ними [# 795111, # 782410 Ян Александр Стеффенс]
- Исправить критическое предупреждение в SoupSocket [Carlos Garcia Campos]
- Обновленные переводы: румынский, фриульский, словенский, чешский, испанский, индонезийский, китайский (Китай).
Что нового в версии:
- tld-parser: используйте Python 3 [# 785735, Ross Burton ]
- Исправить переполнение кучи-буфера в soup_ntlm_parse_challenge () [# 788037, Milan Crha]
- Исправить возможно неинициализированное значение в ssl-test. [Томас Попела]
- SoupCache: исправить отметку времени для ответов [# 791031, Claudio Saavedra]
Что нового в версии 2.60.2:
- Исправить опечатки документации [# 788920, Nirbheek Chauhan]
- предупреждение формата с нулевой длиной, вызванное в soup-logger.c [# 789096, Tomas Popela]
- Предупреждения при создании файлов интроспекции [# 789099, Tomas Popela]
- Создание Visual Studio: повышение безопасности двоичных файлов x64 [Chun-wei Fan]
- Обновленный перевод: Непальский.
Что нового в версии 2.60.0:
- Новые / обновленные переводы: каталонский, датский, голландский, непальский.
Что нового в версии 2.58.1:
- Возвращает изменение в SoupSession для закрытия всех открытых подключений при изменении свойства: proxy-resolver [# 777326; это изменение было сделано в 2.58.0, но случайно исключено из НОВОСТИ для этой версии]; хотя это поведение сделало: proxy-resolver более совместим с: proxy-uri, он закончил тем, что сломал Evolution EWS. [# 781590]
- Исправлено неопределенное поведение в тестах / разборке заголовков, которые могли бы привести к ложному отказу. [# 777258]
- Обновления тестов configure для Apache для использования в тестах /:
- Отброшенная поддержка Apache 2.2
- Изменена поддержка PHP с PHP 5 на PHP 7
- mod_unixd теперь может быть встроен или динамически загружен [# 776478]
- Обновленные переводы:
- Турецкий
Что нового в версии 2.57.1:
- Изменения в libsoup с 2.56.0 до 2.57.1:
- Добавлен SoupWebsocketConnection: keepalive-interval, чтобы соединение посылало регулярные пинги. [# 773253, Игнасио Касаль Квинтайро]
- Добавлены soup_auth_manager_clear_cached_credentials () и SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE, чтобы обеспечить больший контроль над использованием кэшированных аутентификационных данных HTTP. [# 774031, # 774033, Карлос Гарсия Кампос]
- Исправлено использование значений SoupSession: proxy-uri, содержащих пароли. [# 772932, Джонатан Лебон]
- Различные незначительные исправления для WebSocket [Ignacio Casal Quinteiro]:
- Избегайте отправки данных после того, как мы начнем закрывать соединение [# 774957]
- Не записывайте критические сообщения, если одноранговый узел отправляет недопустимый код состояния закрытия
- Записать отладочное сообщение при получении «понга»
- Исправлена интроспекция soup_message_headers_get_content_range () [Jasper St. Pierre]
- Заменены аннотации Vala [Устаревшие] с помощью [Version], чтобы избежать предупреждений сборки [# 773177, Evan Nemerson]
- Улучшения сборки MSVC (Chun-wei Fan)
- Обновлены строки ошибок / сообщений для использования знаков пресечения Unicode. [# 772217, Piotr Drag]
- Обновленные переводы:
- Чешский, Фриулианский, Немецкий, иврит, Венгерский,
- Норвежский бокмаль, польский, шведский
Что нового в версии 2.56.0:
- Добавлено свойство SoupWebsocketConnection: max-incoming-payload-size, чтобы переопределить максимальный размер входящей полезной нагрузки по умолчанию. [# 770022, Игнасио Казал Квинтайро]
- Добавлены символы soup-version.h (в частности soup_check_version ()) для самоанализа. [# 771439, Рико Цчичхольц]
- Обновлена копия открытого списка суффикса, используемого SoupTLD [# 769650, Michael Catanzaro]
- Обновленные переводы:
- Британский английский, греческий, польский
Что нового в версии 2.54.1 / 2.56.0 Beta:
- Удалена поддержка резервного копирования SSLv3; сайты, которые отклонят TLS 1.x handshakes, теперь просто с ошибкой. (Firefox и Chrome уже переключились на это поведение.) [# 765940, Dan Winship]
- Исправлено синтаксическое разборку & lt; double & gt; s в новом XMLRPC-коде на основе GVariant. [# 767707, Dan Winship]
- Исправлено soup_server_set_ssl_cert_file (), которое было добавлено в 2.48, но на самом деле не работало ... [patch на libsoup-list от Sean DuBois]
- Добавлены свойства GObject для SoupLogger, чтобы сделать его удобным для привязки. [# 768053, Jonh Wendell]
- Исправлена ошибка сборки во FreeBSD [# 765376, Ting-Wei Lan]
- Исправлена сборка с некоторыми новыми версиями glibc, которые определяют «EOF» как макрос. [# 768731, Philip Withnall]
- Обновлен m4 / ax_code_coverage.m4 с поддержкой lcov 1.12 [Philip Withnall]
- Обновлены файлы po для будущих gettext-версий [Piotr Drag]
- Новые / обновленные переводы:
- Окситанский, шотландский гэльский
Что нового в версии 2.53.2:
- Фиксированная обработка видимости символов для mingw путем копирования системы GLib [Ignacio Casal Quinteiro, # 757146]
- Наконец, старые методы SoupSessionAsync и SoupSessionSync устарели [Ignacio Casal Quinteiro, Dan Winship, # 757146]
- Добавлен libsoup-2.4.deps для valac [Rico Tzschichholz]
- Можно создать из git без установленного gtk-doc [Ignacio Casal Quinteiro]
- Обновленные переводы: норвежский бокмаль, окситанский
Что нового в версии 2.51.3:
- Исправлена ошибка «make check» в неанглийских локациях [rh # 1224989, # 749397]
- Исправлены некоторые предупреждения компилятора [# 748514, Philip Withnall]
- Новые / Обновленные переводы:
- Арагонский, каталанский, окситанский, русский
Что нового в версии 2.50.0:
- Обновленные переводы: баскский, китайский (тайваньский), датский, индонезийский, норвежский бокмал
Что нового в версии 2.49.1:
- Исправлена ошибка в сигнале SoupMessage: event, который нарушил способность эволюции подключаться к хостам https с «плохими» сертификатами. [# 739951, Dan Winship]
- Исправлен случай, когда асинхронные кодеки могли блокировать синхронную запись [# 727138, Dan Winship]
- Исправлен символ soup_server_set_ssl_cert_file () для экспорта и добавлен файл soup_server_get_uris () в документацию. [Тристан Ван Берком]
- Улучшена куча аннотаций самоанализа [# 729987, Эван Немерсон]
- Разъяснение некоторых документов. [Тристан Ван Берком, Дэн Уиншип]
- Исправлена сборка Windows, дважды [# 738003, Kouhei Sutou и # 738551, Kalev Lember].
- Обновленные переводы: бенгальский (индийский), китайский (традиционный), итальянский, латышский, сербский, телугуский, украинский
Что нового в версии 2.48.1:
- Исправлена ошибка в сигнале SoupMessage: event, который нарушил способность эволюции подключаться к хостам https с «плохими» сертификатами. [# 739951, Dan Winship]
- Исправлен случай, когда асинхронные кодеки могли блокировать синхронную запись [# 727138, Dan Winship]
- Исправлен символ soup_server_set_ssl_cert_file () для экспорта и добавлен файл soup_server_get_uris () в документацию. [Тристан Ван Берком]
- Улучшена куча аннотаций самоанализа [# 729987, Эван Немерсон]
- Разъяснение некоторых документов. [Тристан Ван Берком, Дэн Уиншип]
- Исправлена сборка Windows, дважды [# 738003, Kouhei Sutou и # 738551, Kalev Lember].
- Обновленные переводы: бенгальский (индийский), китайский (традиционный), итальянский, латышский, сербский, телугуский, украинский
Что нового в версии 2.45.3:
- Документация, наконец, была обновлена, чтобы отразить новые API, добавленные в версии 2.42.
- Добавлены свойства GBytes-valued: request-body-data и: response-body-data в SoupMessage, которые должны помочь некоторым связям.
- Теперь мы устанавливаем TCP_NODELAY на сокеты, немного увеличивая пропускную способность. В частности, это позволяет избежать ненужного дополнительного раунда в рукопожатии TLS.
- API-интерфейсы SoupSession, которые возвращают GERrors, теперь возвращают фактические базовые ошибки gio в случае сбоев соединения и т. п.
- Обновлена копия списка Public Suffix, используемого soup-tld.
Что нового в версии 2.42.3:
- Исправлена ошибка аутентификации при использовании NTLM при подключении к сайту https через прокси; код запутался и подумал, что ответ 200 OK на CONNECT означает, что NTLM auth преуспел. [# 698728, Dan]
- Исправлена ошибка, из-за которой синхронные сеансы могли застрять в состоянии, когда новые сообщения не обрабатывались. [# 703463, Philip Withnall]
- Исправлена ошибка в коде соединения-пула, которая в некоторых случаях случайно использовала соединение после того, как сообщение было отменено во время выполнения, в результате чего следующий запрос на этом соединении получил ответ на предыдущий запрос и т. д. [# 708006, Дэвид Вудхаус]
- Исправлены некоторые проблемы при возврате из NTLM с однократной подпиской samba на обычный NTLM с запросом на ввод пароля. [# 703186, Дэвид Вудхаус]
- Если вы вызвали g_input_stream_close () в GInputStream SoupRequests, прежде чем закончите читать его, он будет блокироваться до тех пор, пока остальная часть ответа не будет прочитана (что в случае, например, бесконечного аудиопотока означает, что оно блокирует навсегда). [# 695652, Dan]
- Обновленные переводы: индонезийский
Что нового в версии 2.44.2:
- Исправлено зависание интернет-радиопотоков в Rhythmbox (и некоторых других местах).
- Исправлена утечка соединения при отмене закрытия сообщения GInputStream.
- Подключите несколько утечек памяти.
- Исправить сборку с помощью --without-ntlm.
- Исправлено несколько предупреждений.
- Исправлено тестирование соединения с текущим glib.
- Тесты теперь более подробные по умолчанию в разделе «make check», так как текущий automake просто все перенаправляет все выходные данные в файл журнала.
Что нового в версии 2.44.1:
- Если вы вызвали g_input_stream_close () в СупМессаге или в GInputStream SoupRequests, прежде чем закончите читать его, он будет блокироваться до тех пор, пока остальная часть ответа не будет прочитана (что в случае, например, бесконечного аудиопотока означает, что оно блок навсегда). Это было непреднамеренное изменение с 2.42 и теперь исправлено. [# 695652, Dan]
- soup_session_queue_message () на равнине SoupSession (не SoupSessionAsync) работает синхронно, а не асинхронно, как и должно быть. [# 707711, Dan]
- Методы суп-формы теперь используют правила HTML5 x-www-form-urlencoded, а не HTML4. (В частности, они оставляют
- "-", "_" и "." unencoded.) [# 708621, Alban Browaeys]
- В тестовых программах теперь явно запрашивается бэкэнд «памяти» GSettings, то есть они не будут печатать предупреждение, если они получат его случайно, и они не будут случайно использовать настройки прокси-сервера dconf, если бэкэнд dconf доступен. [Dan]
- Исправить супсессию, чтобы, если вы переопределяете конфигурацию прокси во время построения, она не пытается разрешить GProxyResolver по умолчанию. (Это важно, в частности, для программ, которые ожидают выхода за пределы пользовательского сеанса, что в противном случае приведет к ошибкам из базы данных dconf GSettings в отношении невозможности подключения к dconf.) Аналогично с настройками TLS и бэкэндом TLS. [# 708696, Dan]
- Исправить свойство SoupServer: tls-certificate; soup_server_is_https () не был обновлен, чтобы распознать его, и поэтому вернет FALSE, что, в свою очередь, означает, что сервер будет возвращать 400 Bad Request в ответ на запросы https. [# 709647, Fabiano FidA & ordf; ncio]
- Исправлен спорадический сбой в тестах / тестировании соединения. [Dan]
- Обновленные переводы:
- Таджикский
Что нового в версии 2.44.0:
- Новые / обновленные переводы: голландский, индонезийский.
Что нового в версии 2.44 Beta 1:
- Исправлена обработка недопустимых запросов диапазона в SoupServer [указана в списке рассылки, Dan]. Кроме того, добавлена дополнительная документация, поясняющая, что во многих случаях вам не нужно обрабатывать запросы диапазона.
- Исправлено обращение к литералам адреса IPv6 с идентификаторами области. (Требуется последний glib также для полного исправления.) [# 669724, Dan]
Что нового в версии 2.43.5:
- SoupProxyURIResolver теперь устарел в пользу свойства SoupSession: proxy-resolver (которое принимает GProxyResolver). [# 680273, Dan]
- Перечисление SoupKnownStatusCode теперь называется SoupStatus. Старое имя продолжает существовать как псевдоним, но устарело. (Это изменение не имеет видимого эффекта в C, а прежде всего помогает привязывать языковые привязки, так что, например, SOUP_STATUS_NOT_FOUND сопоставляется с «Soup.Status.NOT_FOUND», а не с «Soup.KnownStatusCode.NOT_FOUND».) [# 684409, Dan]
- Исправлено разбор URI-схем в SoupURI (в частности, чтобы разрешить имена схем с цифрами в них). [# 703776, Dan]
- Исправлен SoupLogger для печати заголовков сообщений сообщения, даже если сообщение отменяется до получения полного тела ответа. [# 703200, Andres Gomez]
- Исправлена проблема сборки в локалях, отличных от UTF-8 [# 702534, Ross Lagerwall]
- SoupSession теперь предупреждает, если вы используете soup_session_pause_message () или soup_session_unpause_message () для синхронного сообщения (которое никогда не срабатывало, хотя этот факт не был документирован). [# 703461, Philip Withnall]
Что нового в версии 2.43.4:
- Исправлена ошибка, из-за которой синхронные сеансы могли застрять в состоянии, когда новые сообщения не обрабатывались. [# 703463, Philip Withnall]
- Исправлена другая утечка памяти в SoupSocket (найдена при добавлении тестового примера для # 700472)
- Переключение на использование g_cclosure_marshal_generic () вместо использования glib-genmarshal. [# 686042, Оливье Блин]
- Изменен SoupServer для вызова unref () в хеш-таблице запроса после вызова обработчика, а не destroy (), чтобы обработчик мог хранить копию данных запроса, если захочет. [# 702793, Бернхард Шустер]
- Исправлено несколько аннотаций самоанализа
- Обновлены примеры / можно использовать SoupLogger и разрешить перенаправление вывода в файл [# 703231, # 703229, Andres Gomez]
Что нового в версии 2.43.2:
- Исправлена ошибка аутентификации при использовании NTLM при подключении к сайту https через прокси; код запутался и подумал, что ответ 200 OK на CONNECT означает, что NTLM auth преуспел. [# 698728, Dan]
- Исправлена утечка памяти в SoupSocket. [# 700472, Richard RA & para; jfors]
- Исправлена ошибка с отсутствием ошибки на некоторых платформах [# 700003, Erik van Pienbroek]
- Исправлены предупреждения при работе с «фиктивным» TLS-файлом. [# 700518, Dan]
Что нового в версии 2.43.1:
- Включение больше не вставляет заголовки сетевых систем. Это может привести к тому, что некоторые пакеты больше не будут компилироваться, если они были случайно в зависимости от этого. Добавление «#include» будет исправлять их как в UNIX, так и в Windows. (Это было сделано как часть исправления сборки на Windows.) [# 692134, Dan]
Что нового в версии 2.42.2:
- Fixed SoupSession: proxy-resolver [# 698163, Dan]
- Другие исправления сборки win32 [# 692134, Dan]
- Исправлено несколько тестовых программ, которые по-прежнему работают, если glib-network не установлен [Dan], и исправлено другое, чтобы работать, если ядро не поддерживает IPv6. [# 698220, Dan]
Что нового в версии 2.42.0:
- Исправлено предупреждение о компиляторе на 32 бит в тестовой программе. [Kalev Lember]
- Новые / обновленные переводы: хинди, каннада, корейский, малаялам, маратхи, одина, персидский, таджикский, тамильский, телугу.
Что нового в версии 2.41.92:
- Исправлена ошибка, из-за которой libsoup неоднократно повторял неверный пароль навсегда, в определенном случае, который повлиял на календари Google в процессе эволюции, в частности. [Ошибка Red Hat # 916224, Dan]
- Также добавлен код, чтобы сделать такие бесконечные петли повторения невозможными в будущем. [Dan]
- Исправлено использование SoupRequestData URI с "" в них. [# 695246, A & frac12; DoberAek]
- Добавлен свойство SoupSession: proxy-resolver, чтобы переопределить GProxyResolver, используемый сеансом. (Это означает, что теперь есть три разных способа управления разрешением прокси в SoupSession ... после 2.42 это будет очищено немного.) [# 680273, Dan]
- Добавлен недостающий G_BEGIN_DECLS / G_END_DECLS в soup-message-headers.h, так что его функции можно вызывать из C ++. [Carlos Garcia Campos]
- Обновленные переводы: ассамский, белорусский, бразильский португальский, каталанский (валенсийский), каталанский, датский, эстонский, французский, греческий, гуджаратинский, венгерский, итальянский, латышский, португальский, русский, словенский, тайский
Что нового в версии 2.41.91:
- Исправлена ошибка, возникавшая с запросами XMLRPC в WebKitGTK. [# 694920, Серхио]
- Исправлен SoupCache для обновления кэшированных заголовков, когда он получает 304 Not Modified ответ, и добавил тест для этого. [# 695121, Серхио]
- Теперь libsoup строит под automake 1.13 (и «make check» работает под параллельной тестовой жгутом, которая по умолчанию установлена в 1.13) [# 694135]
- В настоящее время в каталоге tests / test содержатся только фактические тестовые программы, выполняемые командой «make check», а программы, которые больше похожи в качестве примера, приведены в примерах /.
- Новые / обновленные переводы: арагонский, китайский (традиционный), чешский, галисийский, иврит, литовский, норвежский bokmA & yen; l, панджаби, испанский, уйгурский, вьетнамский
Что нового в версии 2.41.90:
- Добавлено свойство SoupSession: local-address, которое позволяет принудительно подключать соединения к конкретному локальному адресу (например, для управления используемым интерфейсом). [# 693215, Jonh Wendell]
- Исправлен SoupCache для правильной обработки сообщений, которые были отменены, и добавил тесты для этого. [# 692310, Серхио]
- Исправлена эталонная утечка в SoupCache, которая привела к появлению прозвища в течение нескольких секунд при выходе, а затем в конечном итоге распечатала «Cache flush finished, несмотря на X ожидающих запросов». И добавил больше тестов. [# 682527, Серхио]
- Исправлено SoupAuthNTLM, чтобы SoupSession: аутентификация испускалась с повторением = TRUE, если первая попытка не срабатывает (т. е. заставить ее работать так же, как SoupAuthBasic и SoupAuthDigest). [# 693222, Dan]
- Исправлено свойство SoupSession: add-feature-by-type, чтобы принимать функции non-SoupSessionFeature (например, типы auth) [Dan]
- Исправлена ошибка сборки, которая разбивала бы все тесты на основе apache, если у вас не было установлен PHP. [# 693311, Dan]
- Обновленные переводы: малаялам, польский, сербский, словацкий
Что нового в версии 2.41.5:
- Отменил переход на обработку паролей SoupURI с версии 2.41.4, поскольку он, похоже, сломал некоторые вещи. [# 692149, Dan]
- Избегайте g_return_if_fail () при загрузке SoupSession: сбой ssl-ca-файла. [# 691930, Guillaume Desmottes]
- Исправлена ошибка в SoupBodyInputStream, которая вызывала переадресацию в WebKitGTK для зависания. [# 692026, Серхио]
- Обновленные переводы: белорусский, китайский (традиционный), немецкий, итальянский, норвежский bokmA & yen; l, сербский, уйгурский
Комментарии не найдены