因為工作需要,想研究一下execute執行的邏輯。
在這一行調用execute:
Apache httpclient的execute方法調試 getHttpClient的實作:
Apache httpclient的execute方法調試 我在代碼裡聲明的HttpClient隻是一個接口,
Apache httpclient的execute方法調試 實作類是InternalHttpClient。
Apache httpclient的execute方法調試 首先根據傳入的請求決定出目标-target host
Apache httpclient的execute方法調試 投遞到RedirectExec執行。
Apache httpclient的execute方法調試 後者又投遞到RetryExec執行。
Apache httpclient的execute方法調試 收到307重定向:
Apache httpclient的execute方法調試 redirectsEnabled标志位為true:
Apache httpclient的execute方法調試 再看目前的請求确實被redirect了嗎?
Apache httpclient的execute方法調試 original url:
Apache httpclient的execute方法調試 我的背景伺服器傳回的307,落到了分支HttpStatus.SC_TEMPORARY_REDIRECT處:
Apache httpclient的execute方法調試 看來Apache的庫認為隻有HEAD和GET才能被redirect:
Apache httpclient的execute方法調試 重定向最大次數:50
Apache httpclient的execute方法調試 準備重試了:
Apache httpclient的execute方法調試