首先說說httpclient和瀏覽器的區別
我們從瀏覽器發起一筆請求,瀏覽器則會幫你處理重定向、快取等事情。這也就是為什麼用瀏覽器表單post提交後,不管服務端如何重定向,都能正常接收到服務端返回的資料。
但是用httpclient呢,你會發現,請求後,會返回302,因為post方式提交httpclient是不會幫你處理重定向的。這時候怎麼辦呢?
方法一:(自己手動處理)
system.out.println("statuscode=="+statuscode); //返回碼
header header=response.getfirstheader("location");
//重定向位址
string location = header.getvalue();
system.out.println(location);
//然後再對新的location發起請求即可
system.out.println("返回報文"+entityutils.tostring(response2.getentity(), "ut-f-8"));
方法二:(已有工具類)
.disableautomaticretries() //關閉自動處理重定向
.setredirectstrategy(new laxredirectstrategy());//利用laxredirectstrategy處理post重定向問題
system.out.println("statuscode=="+statuscode); //返回碼
system.out.println("返回報文"+entityutils.tostring(response.getentity(), "ut-f-8"));
HttpClients 如何自動處理重定向
httpclient只是模擬一次tcp請求,瀏覽器則會幫你處理重定向 快取等事情。這也就是為什麼用瀏覽器表單post提交後,不管服務端如何重定向,都能正常接收到服務端返回的資料。但是用httpclient呢,你會發現,請求後,會返回302,因為post方式提交httpclient是不會幫你處理重定向...
如何自動發布MSSQLSERVER?
程式編寫 陳林茂 編寫日期 2003 01 01 當您的mis系統開發好以後,您如何盡快的分發您的資料庫呢?下面我將提供vb 的具體實現 optionexplicit definethesqlconnect dimosqlserverassqldmo.sqlserver dimocurrentdba...
spark streaming 如何自動停止
眾所周知spark streaming是7 24小時實時執行的程式。但是如果業務場景就是某天的某個時間段需要使用呢?時間點時長不固定。這個時候就需要我們 邏輯上啟動與停止spark streaming程式了。對於spark streaming 程式,我們通常是用shell指令碼進行啟動,而指令碼的呼...