HttpClient 4.3与4.3版本以下版本比较
编程技术  /  houtizong 发布于 3年前   427
网上利用java发送http请求的代码很多,一搜一大把,有的利用的是java.net.*下的HttpURLConnection,有的用httpclient,而且发送的代码也分门别类。今天我们主要来说的是利用httpclient发送请求。
httpclient又可分为
不同httpclient版本其请求发送的方式也不一样,下面来做个归纳
HttpClient client = new HttpClient();// 设置代理服务器地址和端口// client.getHostConfiguration().setProxy("proxy_host_addr",proxy_port);// 使用 GET 方法 ,如果服务器需要通过 HTTPS 连接,那只需要将下面 URL 中的 http 换成 httpsHttpMethodmethod = new GetMethod("http://java.sun.com");// 使用POST方法// HttpMethod method = new PostMethod("http://java.sun.com");client.executeMethod(method);// 打印服务器返回的状态System.out.println(method.getStatusLine());// 打印返回的信息System.out.println(method.getResponseBodyAsString());// 释放连接method.releaseConnection();
public void getUrl(String url, String encoding) throws ClientProtocolException, IOException {HttpClient client = new DefaultHttpClient();HttpGet get = new HttpGet(url);HttpResponse response = client.execute(get);HttpEntity entity = response.getEntity();if (entity != null) {InputStream instream = entity.getContent();try {BufferedReader reader = new BufferedReader(new InputStreamReader(instream, encoding));System.out.println(reader.readLine());} catch (Exception e) {e.printStackTrace();} finally {instream.close();}}// 关闭连接.client.getConnectionManager().shutdown();}
import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;public static String getResult(String urlStr) {CloseableHttpClient httpClient = HttpClients.createDefault();// HTTP Get请求HttpGet httpGet = new HttpGet(urlStr);// 设置请求和传输超时时间// RequestConfig requestConfig =// RequestConfig.custom().setSocketTimeout(TIME_OUT).setConnectTimeout(TIME_OUT).build();// httpGet.setConfig(requestConfig);String res = "";try {// 执行请求HttpResponse getAddrResp = httpClient.execute(httpGet);HttpEntity entity = getAddrResp.getEntity();if (entity != null) {res = EntityUtils.toString(entity);}log.info("响应" + getAddrResp.getStatusLine());} catch (Exception e) {log.error(e.getMessage(), e);return res;} finally {try {httpClient.close();} catch (IOException e) {log.error(e.getMessage(), e);return res;}}return res;}
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
技术博客集 - 网站简介:
前后端技术:
后端基于Hyperf2.1框架开发,前端使用Bootstrap可视化布局系统生成
网站主要作用:
1.编程技术分享及讨论交流,内置聊天系统;
2.测试交流框架问题,比如:Hyperf、Laravel、TP、beego;
3.本站数据是基于大数据采集等爬虫技术为基础助力分享知识,如有侵权请发邮件到站长邮箱,站长会尽快处理;
4.站长邮箱:[email protected];
文章归档
文章标签
友情链接