日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

http默认超时时间_Bof 是一个HTTP客户端,旨在尽可能方便用户使用

發布時間:2025/6/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 http默认超时时间_Bof 是一个HTTP客户端,旨在尽可能方便用户使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Bof

Bof是一個HTTP客戶端,旨在盡可能方便用戶使用。

它使最經典的用例(例如下載文件,與JSON API交互或提交表單)盡可能地簡單。

由于Bof基于Guzzle,因此可以直接使用Guzzle的方法解決更高級的用例。

綜上所述,Bof:

  • 是用戶友好的
  • 避免使用魔術字符串和數組進行配置:相反,它提供了可以由IDE自動完成的顯式,類型化和文檔化的方法
  • 帶有默認值:默認支持JSON,4xx和5xx響應拋出異常,默認情況下超時時間短
  • 符合PSR-7

未來的計劃:

  • 符合PSR-18(HTTP客戶端標準)
  • 彈性機制,例如重試,退避等。

需要簡短的插圖嗎?這是Bof與Guzzle的比較:

// Bof$http = new BofHttp;$createdProduct = $http ->withHeader('Authorization', 'Token abcd') ->postJson('example.com/api/products', [ 'Hello' => 'world', ]) ->getData();// Guzzle$client = new GuzzleHttpClient([ 'headers' => [ 'Authorization' => 'Token abcd', ],]);$response = $client->request('POST', 'example.com/api/products', [ 'json' => [ 'Hello' => 'world', ]]);$createdProduct = json_decode($response->getBody()->__toString(), true);if (json_last_error() !== JSON_ERROR_NONE) { throw new Exception('There was an error while decoding the JSON response');}

我們需要一個新的HTTP客戶端嗎?

可能不是。如果該客戶端引起了人們的興趣,這可能意味著我們已經很流行的HTTP客戶端可以使用針對簡單用例的更簡單的API。如果您維護HTTP客戶端并且有興趣,我希望將Bof合并到現有庫中。打開一個問題!

安裝

composer require mnapoli/bof

用法

$http = new BofHttp;$response = $http->get('example.com/api/products');

組態

該BofHttp班是不可變的。

通過調用withXxx()每次都會創建新對象的方法來應用配置:

$http = new BofHttp;// The header will apply to all subsequent requests$http = $http->withHeader('Authorization', "Bearer $token");

請記住,withXxx()方法返回原始客戶端的副本:

$http1 = new BofHttp;$http2 = $http1->withHeader('Authorization', "Bearer $token");// $http1 does not have the header applied// $http2 has the header

由于有了這種模式,可以使用相同的方法僅將配置應用于特定請求:

$ products = $ http- > withHeader(' Authorization ',“ Bearer $ token ”)-> get(' https://example.com/api/products ')-> getData(); //下一個請求將*不*具有`Authorization`標頭

發送JSON數據

使用JSON方法,數據將自動編碼為JSON。甲Content-Type的報頭application/json將被添加。

$ http- > postJson(' example.com/api/products ',[ ' foo ' => ' bar ',]); // putJson()或patchJson()也可以

發送表格數據

數據也可以作為application/x-www-form-urlencodedPOST請求發送:

$ http- > postForm(' https://example.com/api/products ',[ ' foo ' => ' bar ',' baz ' => [ ' hi ',' there!' ],]); // putForm()也可以

超時時間

默認情況下,超時設置為短值:

  • 5秒的請求超時
  • HTTP連接超時為3秒

您可以設置更短或更長時間的超時(或通過將其設置為來禁用它們0):

// 2秒的請求超時,1秒超時連接$ HTTP = $ HTTP - > withTimeout( 2, 1);

更多使用方法可以查看官方文檔

開源地址:

github.com/mnapoli/bof

更多更優質的資訊,請關注我,你的支持會鼓勵我不斷分享更多更好的優質文章。

總結

以上是生活随笔為你收集整理的http默认超时时间_Bof 是一个HTTP客户端,旨在尽可能方便用户使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。