麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

http客戶端請求

2019-11-11 05:11:03
字體:
來源:轉載
供稿:網友

注:主要是用于調用接口使用的http請求方法,分為post和get倆種。

HttpClient和HttpsURLConnection的區別:

/*** 直接訪問請求時可以用HttpsURLConnection,但* 可能需要用戶登錄而且具有相應的權限才可訪問該頁面。* 在這種情況下,就需要涉及session、Cookie的處理了,* 如果打算使用HttpURLConnection來處理這些細節,* 當然也是可能實現的,只是處理起來難度就大了。       為了更好地處理向Web站點請求,包括處理Session、Cookie等細節問題,       Apache開源組織提供了一個HttpClient項目,看它的名稱就知道,       它是一個簡單的HTTP客戶端(并不是瀏覽器),可以用于發送HTTP請求,       接收HTTP響應。但不會緩存服務器的響應,       不能執行HTML頁面中嵌入的javaScript代碼;       也不會對頁面內容進行任何解析、處理。        簡單來說,HttpClient就是一個增強版的HttpURLConnection,        HttpURLConnection可以做的事情HttpClient全部可以做;        HttpURLConnection沒有提供的有些功能,        HttpClient也提供了,但它只是關注于如何發送請求、接收響應,以及管理HTTP連接。       使用HttpClient發送請求、接收響應很簡單,只要如下幾步即可。    創建HttpClient對象。    如果需要發送GET請求,創建HttpGet對象;如果需要發送POST請求,創建HttpPost對象。    如果需要發送請求參數,    可調用HttpGet、HttpPost共同的setParams(HetpParams params)方法來添加請求參數;    對于HttpPost對象而言,也可調用setEntity(HttpEntity entity)方法來設置請求參數。    調用HttpClient對象的execute(HttpUriRequest request)發送請求,    執行該方法返回一個HttPResponse。    調用HttpResponse的getAllHeaders()、getHeaders(String name)等方法可獲取服務器的響應頭;    調用HttpResponse的getEntity()方法可獲取HttpEntity對象,該對象包裝了服務器的響應內容。    程序可通過該對象獲取服務器的響應內容。* @return*/

public static String post(String url,Map<String, Object> params) throws ClientProtocolException, IOException

{String content = null;List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();if(params!=null){Set<String> keySet = params.keySet();     for(String key : keySet) {      nameValuePairs.add(new BasicNameValuePair(key, String.valueOf(params.get(key))));       } }CloseableHttpClient httpclient = HttpClientBuilder.create().build();HttpPost httppost = new HttpPost(url);httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));CloseableHttpResponse response = httpclient.execute(httppost);if(200!=response.getStatusLine().getStatusCode()){httppost.releaseConnection();return null;}HttpEntity entity = response.getEntity();content  = EntityUtils.toString(entity, "utf-8");httppost.releaseConnection();return content;}public static String get(String url) throws ClientProtocolException, IOException{CloseableHttpClient httpclient = HttpClientBuilder.create().build();                //HttpGet httpget = new HttpGet("http://www.baidu.com/");       HttpGet httpget = new HttpGet(url);          RequestConfig requestConfig = RequestConfig.custom()                 .setConnectionRequestTimeout(1000)               .setConnectTimeout(3000)                 .setSocketTimeout(4000).build();         httpget.setConfig(requestConfig);                CloseableHttpResponse response = httpclient.execute(httpget);               System.out.println("StatusCode -> " + response.getStatusLine().getStatusCode());if(200!=response.getStatusLine().getStatusCode()){httpget.releaseConnection();return null;}       HttpEntity entity = response.getEntity();               String jsonStr = EntityUtils.toString(entity);//, "utf-8");       System.out.println(jsonStr);                httpget.releaseConnection();       return jsonStr;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产精品视频导航 | 极品xxxx欧美一区二区 | 成年人免费视频大全 | 欧美性生视频 | 91精选视频 | bt 自拍 另类 综合 欧美 | 色99久久| 一级片999| 亚洲精品日韩色噜噜久久五月 | 福利免费观看 | 在线成人精品视频 | 国产成人精品一区二区视频免费 | 久久精品视频亚洲 | 久久精品一级 | 日韩视频精品一区 | 黄色二区三区 | 成人短视频在线观看 | 视频一区二区不卡 | 成品片a免人视频 | 一级一级一级一级毛片 | 看免费5xxaaa毛片 | av免费在线网 | 毛片福利| 最新av在线播放 | 亚洲视频欧美 | 日本欧美中文字幕 | 一级免费 | 国产91精品一区二区麻豆亚洲 | 亚洲骚综合 | 一色视频 | 91精品国产一区二区三区动漫 | 凹凸成人精品亚洲精品密奴 | 中午日产幕无线码1区 | 神马久久精品综合 | 成人视屏在线 | 日韩美香港a一级毛片免费 日韩激情 | 亚洲成人国产综合 | 香蕉成人在线视频 | 91超视频| 午夜国内精品a一区二区桃色 | 国产亚洲精品影达达兔 |