<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>

                # HttpClient Http請求客戶端連接池。 [TOC] 使用方式簡單,步驟按照下面的來。 ## 添加連接池 首先我們打開AppServer,添加連接池的聲明。 ```php public function initAsynPools() { parent::initAsynPools(); $this->addAsynPool('GetIPAddress',new HttpClientPool($this->config,'http://int.dpool.sina.com.cn')); $this->addAsynPool('WeiXinAPI',new HttpClientPool($this->config,'https://api.weixin.qq.com')); } ``` 我們通過繼承initAsynPools的方法為我們的框架添加了2個http連接池。 HttpClientPool的構造函數中$config傳框架的Config實例,$baseUrl請注意如果你要訪問https://api.weixin.qq.com/1/2/34/5/6/abc 類似這樣的網址,那么它的baseUrl為https://api.weixin.qq.com。 ## 使用方法 我們打開我們需要進行訪問的代碼,以下我們假設在controller中進行訪問。 ```php /** * @var HttpClientPool */ protected $GetIPAddressHttpClient; public function initialization($controller_name, $method_name) { parent::initialization($controller_name, $method_name); $this->GetIPAddressHttpClient = get_instance()->getAsynPool('GetIPAddress'); } ``` 我們在initialization初始化函數中獲得這個HttpClientPool。 >連接池可以在__construct和initialization中初始化,區別在于initialization每次訪問都會執行,連接池只需要初始化一次即可,推薦在__construct進行初始化。 接下來我們就可以在代碼中書寫我們需要訪問的api了。 ```php public function http_ip_test() { $ip = $this->http_input->server('remote_addr'); $response = $this->GetIPAddressHttpClient->httpClient ->setQuery(['format' => 'json', 'ip' => $ip]) ->coroutineExecute('/iplookup/iplookup.php'); } ``` ## 對象屬性 * $body 請求響應后服務器端返回的內容 * $statusCode 服務器端返回的Http狀態碼,如404、200、500等 * $set_cookie_headers 服務器端返回的原始COOKIE信息,包括了domain 和path項 * $headers Http請求頭 * $cookies Http Cookie ## 異常錯誤碼 某些情況下服務器端沒有正常返回數據,底層會將$statusCode標記為負數。 * -1:連接超時,服務器未監聽端口或網絡丟失,可以讀取$errCode獲取具體的網絡錯誤碼 * -2:請求超時,服務器未在規定的timeout時間內返回response * -3:客戶端請求發出后,服務器強制切斷連接
                  <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>

                              哎呀哎呀视频在线观看