C++語言中有一些多義詞,例如表示靜態的關鍵字static,將static應用在變數、函數或類成員等不同場合,它所表達的含義不一樣。源程式中相同的程式元素可能會具有不同的語法解釋,C++語言稱這些程式元素具有多態性。C++語言有多種不同的多態形式,常見的有關鍵字多態、重載函數多態、運算符多態、對象多 ...
轉自:
http://www.java265.com/JavaCourse/202204/2937.html
HttpClient是一個java語言編寫的包,
我們使用HttpClient可以非常方便的發送Http請求
它使基於Http協議請求內容變得非常簡單
HttpClient是Apache Jakarta Common下的子項目 它裡面封裝了很多使用http協議訪問的工具,可用於高效訪問http
下文筆者講述基於HttpClient Utils工具類編寫一個表單提交的示例分享,如下所示:
HttpClient Utils進行表單提交同post提交的方式一摸一樣,如下所示 實現思路: 1.獲取連接 2.聲明一個HttpPost 3.創建請求參數體 4.execute獲取信息 5.getEntity獲取返回信息 6.關閉連接
/** * post方式提交表單(模擬用戶登錄請求) */ public void postForm() { // 創建預設的httpClient實例. CloseableHttpClient httpclient = HttpClients.createDefault(); // 創建httppost HttpPost httppost = new HttpPost("http://java265.com/login"); // 創建參數隊列 List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("username", "admin")); formparams.add(new BasicNameValuePair("password", "java265.compwd")); UrlEncodedFormEntity uefEntity; try { uefEntity = new UrlEncodedFormEntity(formparams, "UTF-8"); httppost.setEntity(uefEntity); System.out.println("executing request " + httppost.getURI()); CloseableHttpResponse response = httpclient.execute(httppost); try { HttpEntity entity = response.getEntity(); if (entity != null) { System.out.println("--------------------------------------"); System.out.println("Response content: " + EntityUtils.toString(entity, "UTF-8")); System.out.println("--------------------------------------"); } } finally { response.close(); } } catch (ClientProtocolException e) { e.printStackTrace(); } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 關閉連接,釋放資源 try { httpclient.close(); } catch (IOException e) { e.printStackTrace(); } } }