<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Coroutine\\Http\\Client [TOC] > 協程版Http客戶端基于原生的AsyncIo中的異步Http客戶端,基本的設置和使用方法和異步Http客戶端一致,不在需要注冊回調函數,只需要同步寫法即可,使用方法和Swoole\\Http\\Client一致的此處不再列出,請參考[swoole\\AsyncIO\\異步Http/WebSocket客戶端](異步Http-WebSocket客戶端.md),對于使用有區別的函數,此處單獨說明 `Swoole-2.0.0`版本增加了對協程版`Http`客戶端的支持。底層是用純`C`編寫,擁有超高的性能。 ## Saber - 人性化的協程HTTP客戶端封裝庫 開發者可使用已封裝的[協程HTTP客戶端Saber](https://github.com/swlib/saber) * 基于Swoole協程Client開發 * 人性化使用風格, ajax.js/axios.js/requests.py用戶福音, 同時支持PSR風格操作 * 瀏覽器級別完備的Cookie管理機制, 完美適配爬蟲/API代理應用 * 請求/響應/異常攔截器 * 多請求并發, 并發重定向優化 * 連接池, 自動化復用長連接 * 通道池(Chan): 最大連接數限制+無阻塞 * HTTPS連接, CA證書自動化支持 * HTTP/Socks5 Proxy支持 * WebSocket連接支持 * 毫秒級超時定時器 * 自動化 編碼請求/解析響應 數據 * 響應報文自動編碼轉換 * 異步超大文件上傳/下載, 斷點重傳 * 自動重試機制 * 單次并發數控制 * 多模式/超細粒度異常處理機制 ## 啟用協程Http客戶端 * 不依賴任何第三方擴展庫, 默認開啟 * 支持`Http-Chunk`、`Keep-Alive`特性,支持`form-data`格式 * Http協議版本為`HTTP/1.1` * 支持升級為websocket客戶端 * `gzip`壓縮格式支持需要依賴`zlib`庫(默認都有) ## 構造方法 ~~~ function Swoole\Coroutine\Http\Client->__construct(string $host, int port, bool $ssl = false); ~~~ * `$host`目標服務器主機地址,可以為`IP`或域名,底層自動進行域名解析 * `$port`目標服務器的端口,一般`http`為`80`,`https`為`443` * `$ssl`是否啟用`SSL/TLS`隧道加密,如果目標服務器是`https`必須設置`$ssl`參數為`true` ## 使用實例 ~~~ $cli = new Swoole\Coroutine\Http\Client('127.0.0.1', 80); $cli->setHeaders([ 'Host' => "localhost", "User-Agent" => 'Chrome/49.0.2587.3', 'Accept' => 'text/html,application/xhtml+xml,application/xml', 'Accept-Encoding' => 'gzip', ]); $cli->set([ 'timeout' => 1]); $cli->get('/index.php'); echo $cli->body; $cli->close(); ~~~ * 如果未設置`timeout`,則將底層`connect`和`request`超時設置為默認的`500ms` #### defer特性 * * * 請參考[并發Client](并發調用.md)一節。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看