Apache httpclient的execute方法除錯
因為工作需要,想研究一下execute執行的邏輯。
在這一行呼叫execute:
response = getHttpClient().execute(get);
getHttpClient的實現:
private HttpClient getHttpClient() { if (this.m_httpClient == null) { this.m_httpClient = HttpClientBuilder.create().build(); } return this.m_httpClient; }
我在程式碼裡宣告的HttpClient只是一個介面,
實現類是InternalHttpClient。
首先根據傳入的請求決定出目標-target host
投遞到RedirectExec執行。
後者又投遞到RetryExec執行。
收到307重定向:
redirectsEnabled標誌位為true:
再看當前的請求確實被redirect了嗎?
original url:
我的後臺伺服器返回的307,落到了分支HttpStatus.SC_TEMPORARY_REDIRECT處:
看來Apache的庫認為只有HEAD和GET才能被redirect:
重定向最大次數:50
準備重試了:
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2645585/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Apache之HttpClientApacheHTTPclient
- EXECUTE IMMEDIATE 儲存過程中 許可權不足及EXECUTE IMMEDIATE的除錯避坑儲存過程除錯
- 工具篇:apache-httpClient 和 jdk11-HttpClient的使用ApacheHTTPclientJDK
- RestTemplate和 apache HttpClient 使用方式RESTApacheHTTPclient
- Apache HttpClient使用和原始碼分析ApacheHTTPclient原始碼
- Android 中 WebView 的除錯方法AndroidWebView除錯
- NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load xxxx錯誤解決方法ErrorAIXMLHTTP
- hibernate配置級聯刪除時報錯:could not execute statement; SQL [n/a]; constraint [null]SQLAINull
- python五種除錯或排錯的方法Python除錯
- Failed to execute aapt的奇怪解決方法AIAPT
- UE Puerts 在 Android 的除錯方法Android除錯
- 如何在Apache HttpClient中設定TLS版本ApacheHTTPclientTLS
- C/C++ 程式反除錯的方法C++除錯
- Vue生產環境除錯的方法Vue除錯
- 【HttpClient】httpclient之post 方法(引數為Map型別)HTTPclient型別
- c 語言除錯方法(除錯 PHP 底層、擴充套件)除錯PHP套件
- iOS 常用除錯方法:LLDB命令iOS除錯LLDB
- 006 Web Assembly之除錯方法Web除錯
- 幽默:除錯程式碼問題的最佳方法除錯
- MySQL AttributeError: ‘Engine’物件沒有’execute’屬性的錯誤MySqlError物件
- IsDebuggerPresent的反除錯與反反除錯除錯
- IntelliJ IDEA 2020.1新增HttpClient類庫的方法IntelliJIdeaHTTPclient
- 移動端除錯方法彙總除錯
- 移動端除錯方法補充除錯
- HanLP-地名識別除錯方法HanLP地名識別除錯
- GDB除錯基礎使用方法除錯
- iOS 常用除錯方法:靜態分析iOS除錯
- 【除錯】ftrace(一)基本使用方法除錯
- 不同Java除錯方法總結 - VardhanJava除錯
- Java程式中除錯Python程式方法Java除錯Python
- 除錯篇——除錯物件與除錯事件除錯物件事件
- 4種除錯深度神經網路的方法除錯神經網路
- Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compileAIGoApacheMavenPluginCompile
- java apache commons HttpClient傳送get和post請求的學習整理JavaApacheHTTPclient
- 除錯Kubernetes工作負載的最簡單方法 - Martin除錯負載
- Linux環境下段錯誤的產生原因及除錯方法小結Linux除錯
- Windows windbg kernel debug 雙機核心除錯 - USB3.0 除錯 USB除錯 除錯線Windows除錯
- Hanlp-地名識別除錯方法詳解HanLP地名識別除錯