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