瞭解Java的Synchronized機制的大家想必都瞭解過,這個鎖有多麼的強大和美妙。它就像哪吒有三頭六臂,手上拽著一堆法寶。 它可以用在類上,可以用在方法上面,甚至可以用在代碼塊上面。一個線程需要獲取被Synchronized修飾過的方法或者對象,通常需要阻塞等待一下。 就好像大家都需要拿著電影 ...
轉自:
http://www.java265.com/JavaCourse/202204/2940.html
HttpClient是一個java語言編寫的包,
我們使用HttpClient可以非常方便的發送Http請求
它使基於Http協議請求內容變得非常簡單
HttpClient是Apache Jakarta Common下的子項目 它裡面封裝了很多使用http協議訪問的工具,可用於高效訪問http
下文筆者講述基於HttpClient的RequestConfig配置的示例分享,如下所示:
RequestConfig是httpClient中用於連接設置的對象 下文筆者將通過示例的方式,講述RequestConfig的配置案例,如下所示:
例:
public void requestConfig(){ // 新建一個RequestConfig: RequestConfig defaultRequestConfig = RequestConfig.custom() //一、連接目標伺服器超時時間:ConnectionTimeout-->指的是連接一個url的連接等待時間 .setConnectTimeout(5000) //二、讀取目標伺服器數據超時時間:SocketTimeout-->指的是連接上一個url,獲取response的返回等待時間 .setSocketTimeout(5000) //三、從連接池獲取連接的超時時間:ConnectionRequestTimeout .setConnectionRequestTimeout(5000) .build(); // 這個超時可以設置為客戶端級別,作為所有請求的預設值: CloseableHttpClient httpclient = HttpClients.custom() .setDefaultRequestConfig(defaultRequestConfig) .build(); // httpclient.execute(httppost);的時候可以讓httppost直接享受到httpclient中的預設配置. // Request不會繼承客戶端級別的請求配置,所以在自定義Request的時候,需要將客戶端的預設配置拷貝過去: HttpGet httpget = new HttpGet("http://www.apache.org/"); RequestConfig requestConfig = RequestConfig.copy(defaultRequestConfig) .setProxy(new HttpHost("myotherproxy", 8080)) .build(); httpget.setConfig(requestConfig); // httpget可以單獨地使用新copy的requestConfig請求配置,不會對別的request請求產生影響 }
參考資料:http://www.java265.com/JavaCourse/202204/2934.html HttpUtils工具類