LibSoup 是一個完全免費,易於使用的開源HTTP(超文本傳輸協議)服務器和客戶端庫,用於為GNOME圖形桌面環境設計的各種應用程序,運行在基於Linux內核的操作系統下。
由GLib和GObjects項目提供支持
LibSoup項目使用強大的GLib庫作為主循環,GObjects軟件與大多數GNOME應用程序集成。它支持代理,包括身份驗證和SSL隧道。
通過GnuTLS支持SSL
庫自動緩存連接,包含異步(GMainLoop和基於回調的)和同步API(應用程序編程接口),並通過GnuTLS支持SSL(安全套接字層)。
提供代理支持和眾多其他吸引人的功能
在其他有趣的功能中,我們可以提到客戶端對摘要,基本身份驗證和NTLM的支持,對XML-RPC的客戶端和服務器支持,代理支持,包括身份驗證和SSL隧道,以及對基本和摘要身份驗證的服務器支持
LibSoup入門
要在GNU / Linux操作系統上安裝LibSoup庫,您必須從Softoware下載最新版本的軟件,將其保存在您選擇的位置,並在當前目錄中解壓縮。
打開終端應用,導航到您已解壓縮存檔文件的位置(例如cd /home/softoware/libsoup-2.49.1),然後運行‘ ./ configure && make’命令配置和編譯程序,然後運行&。&。configure /& make’命令配置程序。
成功完成編譯操作後,運行‘ make install’或者‘ sudo make install’命令,取決於您是root用戶還是具有權限的用戶,在系統中安裝LibSoup庫並開始在項目中使用它。
此新版本中的新功能:
- 簡化soup_hosts_matches_host()[Claudio Saavedra]
- 為域名中的尾隨點添加新測試[Claudio Saavedra]
- 更新了土耳其語翻譯
版本2.63.2中的新功能:
- 對介子構建系統支持的許多修復[#795324,#782410,Tomas Popela,Jan Alexander Steffens]
- 修復xmlrpc-server test with PHP> = 7.2及相關[#795111,#782410 Jan Alexander Steffens]
- 修復SoupSocket中的嚴重警告[Carlos Garcia Campos]
- 更新後的翻譯:羅馬尼亞語,弗留利語,斯洛文尼亞語,捷克語,西班牙語,印尼語,中文(中國)。
版本中的新內容
- tld-parser:使用Python 3 [#785735,Ross Burton ]
- 修復heap_ntlm_parse_challenge()中的堆緩衝區溢出[#788037,Milan Crha]
- 在ssl-test中修復可能未初始化的值。 [Tomas Popela]
- SoupCache:修復回复的時間戳[#791031,Claudio Saavedra]
版本2.60.2中的新功能:
- 修復文檔拼寫錯誤[#788920,Nirbheek Chauhan]
- 格式 - 零長度警告[#789096,Tomas Popela]
- 生成反复文件時的警告[#789099,Tomas Popela]
- Visual Studio構建:增強x64二進製文件的安全性[Chun-wei Fan]
- 更新了翻譯:尼泊爾語。
在li-logger.c中觸發
版本2.60.0中的新功能:
- 新的/更新的翻譯:加泰羅尼亞語,丹麥語,荷蘭語,尼泊爾語。
版本2.58.1中的新功能:
- 當更改:proxy-resolver屬性時,將更改還原為SoupSession以關閉所有打開的連接[#777326;這個更改是在2.58.0中進行的,但是在該版本的新聞中意外地被遺漏了];雖然這種行為做出了:代理解析器更符合:proxy-uri,但它最終破壞了Evolution EWS。 [#781590]
- 修復了test / header-parsing中未定義的行為,可能會導致測試失敗。 [#777258]
- 更新Apache的配置測試以用於tests /:
- 不再支持Apache 2.2
- 將PHP支持從PHP 5更改為PHP 7
- mod_unixd現在可以內置或動態加載[#776478]
- 更新了翻譯:
- 土耳其
版本2.57.1中的新功能:
- libsoup從2.56.0更改為2.57.1:
- 添加了SoupWebsocketConnection:keepalive-interval,以使連接發送定期ping。 [#773253,Ignacio Casal Quinteiro]
- 添加了soup_auth_manager_clear_cached_credentials()和SOUP_MESSAGE_DO_NOT_USE_AUTH_CACHE,以便更好地控制緩存的HTTP身份驗證憑據的使用。 [#774031,#774033,Carlos Garcia Campos]
- 修正了SoupSession的使用:包含密碼的proxy-uri值。 [#772932,Jonathan Lebon]
- 各種小型WebSocket修復[Ignacio Casal Quinteiro]:
- 在我們開始關閉連接後避免發送數據[#774957]
- 如果對等方發送無效的關閉狀態代碼,請不要記錄關鍵字
- 收到“pong”時記錄調試消息
- 固定內省的湯_message_headers_get_content_range()[賈斯珀聖皮埃爾]
- 用[版本]替換Vala [已棄用]註釋以避免構建警告[#773177,Evan Nemerson]
- MSVC構建改進(Chun-wei Fan)
- 更新了錯誤/消息字符串以使用Unicode標點符號。 [#772217,Piotr Drag]
- 更新了翻譯:
- 捷克語,弗留利語,德語,希伯來語,匈牙利語,
- 挪威語bokmal,波蘭語,瑞典語
版本2.56.0中的新功能:
- 添加了SoupWebsocketConnection:max-incoming-payload-size屬性,以覆蓋默認的最大傳入有效負載大小。 [#770022,Ignacio Casal Quinteiro]
- 添加了湯-version.h符號(特別是soup_check_version())以進行內省。 [#771439,Rico Tzschichholz]
- 更新了SoupTLD使用的公共後綴列表的副本[#769650,Michael Catanzaro]
- 更新了翻譯:
- 英式英語,希臘語,波蘭語
版本2.54.1 / 2.56.0 Beta中的新功能:
- 刪除了對SSLv3後備的支持;拒絕TLS 1.x握手的網站現在只會因錯誤而失敗。 (Firefox和Chrome都已經切換到這種行為。)[#765940,Dan Winship]
- 修正了<在基於GVariant的新XMLRPC代碼中加倍> s。 [#767707,Dan Winship]
- 修正了湯2.server_set_ssl_cert_file(),它在2.48中添加但實際上沒有工作...... [來自Sean DuBois的libsoup-list上的補丁]
- 為SoupLogger添加了GObject屬性,使其對綁定友好。 [#768053,Jonh Wendell]
- 修復了FreeBSD上的構建錯誤[#765376,Ting-Wei Lan]
- 使用某些新版本的glibc修復構建,將“EOF”定義為宏。 [#768731,Philip Withnall]
- 更新了m4 / ax_code_coverage.m4並支持lcov 1.12 [Philip Withnall]
- 更新了未來gettext版本的po文件[Piotr Drag]
- 新/更新的翻譯:
- Occitan,Scottish Gaelic
版本2.53.2中的新功能:
- 通過複製GLib的系統修復mingw的符號可見性處理[Ignacio Casal Quinteiro,#757146]
- 最後將舊的SoupSessionAsync和SoupSessionSync方法標記為已棄用[Ignacio Casal Quinteiro,Dan Winship,#757146]
- 為valac添加了libsoup-2.4.deps [Rico Tzschichholz]
- 可以在沒有安裝gtk-doc的情況下從git構建[Ignacio Casal Quinteiro]
- 更新的翻譯:挪威語bokmal,Occitan
版本2.51.3中的新功能:
- 修正了非英語語言環境中的“make check”[rh#1224989,#749397]
- 修正了一些編譯器警告[#748514,Philip Withnall]
- 新/更新的翻譯:
- 阿拉貢語,加泰羅尼亞語,奧克西唐語,俄語
版本2.50.0中的新功能:
- 更新的翻譯:巴斯克語,中文(台灣),丹麥語,印尼語,挪威語bokmal
版本2.49.1中的新功能:
- 修復了SoupMessage:事件信號中的錯誤,該錯誤破壞了Evolution使用“壞”證書連接到https主機的能力。 [#739951,Dan Winship]
- 修復了異步代碼路徑可能在同步寫入時阻塞的情況[#727138,Dan Winship]
- 修復了要導出的符號soup_server_set_ssl_cert_file(),並在文檔中添加了soup_server_get_uris()。 [Tristan Van Berkom]
- 改進了一堆內省註釋[#729987,Evan Nemerson]
- 澄清了一些文件。 [Tristan Van Berkom,Dan Winship]
- 修復了Windows版本,兩次[#738003,Kouhei Sutou和#738551,Kalev Lember]。
- 更新的翻譯:孟加拉語(印度語),中文(繁體),意大利語,拉脫維亞語,塞爾維亞語,泰盧固語,烏克蘭語
版本2.48.1中
什麼是新:
- 修復了SoupMessage:事件信號中的錯誤,該錯誤破壞了Evolution使用“壞”證書連接到https主機的能力。 [#739951,Dan Winship]
- 修復了異步代碼路徑可能在同步寫入時阻塞的情況[#727138,Dan Winship]
- 修復了要導出的符號soup_server_set_ssl_cert_file(),並在文檔中添加了soup_server_get_uris()。 [Tristan Van Berkom]
- 改進了一堆內省註釋[#729987,Evan Nemerson]
- 澄清了一些文件。 [Tristan Van Berkom,Dan Winship]
- 修復了Windows版本,兩次[#738003,Kouhei Sutou和#738551,Kalev Lember]。
- 更新的翻譯:孟加拉語(印度語),中文(繁體),意大利語,拉脫維亞語,塞爾維亞語,泰盧固語,烏克蘭語
版本2.45.3中
什麼是新:
- 文檔最終已更新,以反映2.42。 中添加的新API
- 為SoupMessage添加了GBytes-valued:request-body-data和:response-body-data屬性,這應該有助於一些綁定。
- 我們現在在套接字上設置TCP_NODELAY,稍微提高了吞吐量。特別是,這可以避免TLS握手中不必要的額外往返。
- 返回GErrors的SoupSession API現在會在連接失敗等情況下返回實際的基礎gio錯誤。
- 更新了soup-tld使用的公共後綴列表的副本。
版本2.42.3中的
新功能:
- 修復了通過代理連接到https站點時使用NTLM時出現的身份驗證錯誤;代碼變得混亂,並認為對CONNECT的200 OK響應意味著NTLM auth已經成功。 [#698728,Dan]
- 修復了一個錯誤,該錯誤可能導致同步會話陷入無法處理新消息的狀態。 [#703463,Philip Withnall]
- 修復了連接池代碼中的錯誤,在某些情況下,在正在進行消息取消後意外地繼續使用連接,導致該連接上的下一個請求獲得對先前請求的響應,等等。 [#708006,David Woodhouse]
- 修復了從基於samba單點登錄的NTLM回退到普通的要求密碼的NTLM時出現的一些問題。 [#703186,David Woodhouse]
- 如果在讀完SoupRequests的GInputStream之前調用了g_input_stream_close(),它將會阻塞,直到讀取了其餘的響應(例如,在無限音頻流的情況下,它會阻止它永遠)。 [#695652,丹]
- 更新的翻譯:印尼語
版本2.44.2中的新功能:
- 修復了Rhythmbox(以及其他一些地方)網絡廣播流的掛起。
- 修復了取消消息GInputStream的關閉時的連接洩漏。
- 插入了一些內存洩漏。
- 使用--without-ntlm修復構建。
- 修正了一些警告。
- 使用當前glib進行固定連接測試。
- 默認情況下,“make check”下的測試現在更詳細,因為當前的automake只是將所有輸出重定向到日誌文件。
版本2.44.1中的
新功能:
- 如果在讀完之前在SoupMessage或SoupRequests的GInputStream上調用g_input_stream_close(),它將會阻塞,直到讀取其餘的響應(例如,在無限音頻流的情況下,意味著它會永遠阻止)。這是2.42的意外變化,現在已修復。 [#695652,丹]
- soup_session_queue_message()是同步操作而不是異步操作。 [#707711,Dan]
- 湯形式方法現在使用HTML5 x-www-form-urlencoded規則而不是HTML4規則。 (特別是,他們離開
- “ - ”,“_”和“。”未編碼的。)[#708621,Alban Browaeys]
- 測試程序現在明確請求“內存”GSettings後端,這意味著如果他們意外地獲取它們將不會打印警告,並且如果dconf後端可用,他們將不會意外地使用dconf代理設置。 [丹]
- 修復SoupSession,以便在構造時覆蓋代理配置時,它不會嘗試解析默認的GProxyResolver。 (這對於期望在用戶會話之外運行的程序尤為重要,否則會從dconf GSettings後端發出有關無法連接到dconf的錯誤。)與TLS設置和TLS後端類似。 [#708696,Dan]
- 修復SoupServer:tls-certificate屬性; soup_server_is_https()尚未更新以識別它,因此將返回FALSE,這反過來意味著服務器將返回400 Bad Request以響應https請求。 [#709647,Fabiano FidAª ncio]
- 修復了測試/連接測試中的偶發故障。 [丹]
- 更新了翻譯:
- 塔吉克
純粹的SoupSession(而不是SoupSessionAsync)上的
版本2.44.0中的新功能:
- 新的/更新的翻譯:荷蘭語,印度尼西亞語。
版本2.44 Beta 1中的
新功能:
- 修正了SoupServer中不可滿足的範圍請求的處理[在郵件列表中指出,Dan]。此外,還添加了更多文檔,說明在許多情況下您不需要自己處理範圍請求。
- 修復了使用範圍ID處理IPv6地址文字的問題。 (需要最新的glib才能完成修復。)[#669724,Dan]
版本2.43.5中
什麼是新:
- SoupProxyURIResolver現已棄用,取而代之的是SoupSession:proxy-resolver屬性(需要GProxyResolver)。 [#680273,丹]
- SoupKnownStatusCode枚舉現在稱為SoupStatus。舊名稱繼續作為別名存在,但已棄用。 (此更改在C中沒有明顯效果;它主要用於幫助語言綁定,因此,例如,SOUP_STATUS_NOT_FOUND映射到“Soup.Status.NOT_FOUND”而不是“Soup.KnownStatusCode.NOT_FOUND”。)[#684409,Dan]
- 修復了SoupURI中URI方案的解析(特別是允許帶有數字的方案名稱)。 [#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,Olivier Blin]
- 在調用處理程序而不是destroy()之後,將SoupServer更改為在查詢哈希表上調用unref(),以便處理程序可以保留查詢數據的副本(如果需要)。 [#702793,Bernhard Schuster]
- 修正了一些內省註釋
- 更新了示例/開始使用SoupLogger並允許將輸出重定向到文件[#703231,#703229,Andres Gomez]
版本2.43.2中的新功能:
- 修復了通過代理連接到https站點時使用NTLM時出現的身份驗證錯誤;代碼變得混亂,並認為對CONNECT的200 OK響應意味著NTLM auth已經成功。 [#698728,Dan]
- 修復了SoupSocket中的內存洩漏問題。 [#700472,Richard RA¶ jfors]
- 修復了某些平台上缺少的包含錯誤[#700003,Erik van Pienbroek]
- 修復了針對“虛擬”TLS後端運行時的警告。 [#700518,Dan]
版本2.43.1中
什麼是新:
- 包括不再拉入系統網絡標頭。這可能導致某些包不再編譯,如果它們偶然依賴於此。添加“#include”將在unix和Windows上修復它們。 (這是在Windows上修復構建的一部分。)[#692134,Dan]
版本2.42.2中
什麼是新:
- 修正了SoupSession:proxy-resolver [#698163,Dan]
- 進一步的win32構建修復[#692134,Dan]
- 修復了幾個測試程序,如果沒有安裝glib-networking,仍然可以工作[Dan],如果內核沒有IPv6支持,修復另一個測試程序仍可正常工作。 [#698220,Dan]
版本2.42.0中
什麼是新:
- 修復了測試程序中32位編譯器警告的問題。 [Kalev Lember]
- 新/翻譯:印地語,卡納達語,韓語,馬拉雅拉姆語,馬拉地語,奧迪亞語,波斯語,塔吉克語,泰米爾語,泰盧固語。
版本2.41.92中的
新功能:
- 修復了一個導致libsoup重複重複不正確密碼的錯誤,在某些特定情況下會影響谷歌日曆的進化。 [Red Hat bug#916224,Dan]
- 還添加了代碼,以便將來無法進行此類無限重試循環。 [丹]
- 修復了SoupRequestData處理帶有“”的URI的問題。 [#695246,A½一個DoberAek]
- 添加了SoupSession:proxy-resolver屬性,以覆蓋會話使用的GProxyResolver。 (這意味著現在有三種不同的方法來控制SoupSession中的代理分辨率......這將在2.42之後稍微清理一下。)[#680273,Dan]
- 向soup-message-headers.h添加了缺少的G_BEGIN_DECLS / G_END_DECLS,以便可以從C ++調用其函數。 [Carlos Garcia Campos]
- 更新的翻譯:阿薩姆語,白俄羅斯語,巴西葡萄牙語,加泰羅尼亞語(巴倫西亞語),加泰羅尼亞語,丹麥語,愛沙尼亞語,法語,希臘語,古吉拉特語,匈牙利語,意大利語,拉脫維亞語,葡萄牙語,俄語,斯洛文尼亞語,泰語
版本2.41.91中的
新功能:
- 修復了WebKitGTK中出現XMLRPC請求的崩潰問題。 [#694920,Sergio]
- 修復了SoupCache在收到304 Not Modified響應時更新緩存標頭的問題,並為此添加了測試。 [#695121,Sergio]
- libsoup現在在automake 1.13下構建(並且“make check”在並行測試工具下工作,這是1.13中的默認設置)[#694135]
- tests /目錄現在只包含由“make check”運行的實際測試程序,而更多作為示例代碼的程序在示例/下。
- 新/翻譯:阿拉貢語,中文(繁體),捷克語,加利西亞語,希伯來語,立陶宛語,挪威語和日元; l,旁遮普語,西班牙語,維吾爾語,越南語
版本2.41.90中的
新功能:
- 添加了SoupSession:local-address屬性,它允許您強制連接綁定到特定的本地地址(例如,控制所使用的接口)。 [#693215,Jonh Wendell]
- 修復了SoupCache以正確處理被取消的消息,並為此添加了測試。 [#692310,Sergio]
- 修復了SoupCache中的一個引用洩漏,導致在退出時頓時掛起幾秒鐘,然後最終打印“儘管X掛起請求仍然緩存刷新完成”。並添加了更多測試。 [#682527,Sergio]
- 修復了SoupAuthNTLM,以便在第一次嘗試失敗時使用retrying = TRUE發出SoupSession:authenticate(即,使其工作方式與SoupAuthBasic和SoupAuthDigest相同)。 [#693222,Dan]
- 修復了SoupSession:add-feature-by-type屬性以接受非SoupSessionFeature功能(例如,auth類型)[Dan]
- 修復了一個構建錯誤,如果你沒有安裝PHP,它會破壞所有基於apache的測試。 [#693311,Dan]
- 更新的翻譯:馬拉雅拉姆語,波蘭語,塞爾維亞語,斯洛伐克語
版本2.41.5中的
新功能:
- 從2.41.4恢復了對SoupURI密碼處理的更改,因為事實證明它已經破壞了一些東西。 [#692149,Dan]
- 加載SoupSession時避免使用g_return_if_fail():ssl-ca-file失敗。 [#691930,Guillaume Desmottes]
- 修復了SoupBodyInputStream中導致WebKitGTK重定向掛起的錯誤。 [#692026,塞爾吉奧]
- 更新後的翻譯:白俄羅斯語,中文(繁體),德語,意大利語,挪威語bokmA¥ l,塞爾維亞語,維吾爾語
評論沒有發現