java.net.HttpURLConnection 踩坑經歷

java.net.HttpURLConnection

這個是java自帶的網絡庫,接手項目後遇到了兩個問題:

1.自動靜默的重試
2.默認進行3XX跳轉

自動靜默的重試

這個查閱了一些資料發現,是java類庫自帶的bug,不過在2006設計者已經出了解決方案,只不過由於要兼容以前版本,並沒有修改 java.net.HttpURLConnection 這個庫的內部實現,只是增加了一個開關,可以人爲選擇關閉。

//服務端關閉方式
System.setProperty("sun.net.http.retryPost", "false");
// Android 無法這樣設置只能使用
httpConn.setChunkedStreamingMode(0);

默認進行3XX跳轉

雖然現在基本不在乎跳不跳轉,但是還是有用戶是不希望進行跳轉的,自我接手 SDK 以來還是出現了自動跳轉給客戶帶來了問題,所以研究了下 java 的網絡類庫(以前根本沒有用過,都是做一些web項目,網絡庫應用的太少)

// 關閉方式
httpConn.setInstanceFollowRedirects(false);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章