为什么80%的码农都做不了架构师?>>>   

package demo.httpclient;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;import org.apache.http.HeaderIterator;
import org.apache.http.HttpEntity;
import org.apache.http.HttpStatus;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.config.CookieSpecs;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;public class HttpClientDemo {public static void main(String[] args) {   CloseableHttpClient httpclient = HttpClients.createDefault();HttpGet httpget = new HttpGet("http://www.soso.com");CloseableHttpResponse response = null;// 设置请求和传输超时时间5s,设置cookie策略RequestConfig requestconfig = RequestConfig.custom().setSocketTimeout(5000).setConnectTimeout(5000).setCookieSpec(CookieSpecs.BEST_MATCH).build();httpget.setConfig(requestconfig);System.out.println(httpget.getURI());// 打印请求信息System.out.println("Executing request " + httpget.getRequestLine());System.out.println("------------------------------");try {response = httpclient.execute(httpget);System.out.println(response.getStatusLine().toString());System.out.println("------------------------------");// 头信息HeaderIterator it = response.headerIterator();while(it.hasNext()) {System.out.println(it.next());}System.out.println("------------------------------");// 判断访问的状态码int statusCode = response.getStatusLine().getStatusCode();if(statusCode != HttpStatus.SC_OK) {System.err.println("Method failed: " + response.getStatusLine());}
//      if(statusCode == HttpStatus.SC_OK) {
//
//      } else if((statusCode == HttpStatus.SC_MOVED_TEMPORARILY)
//                  || (statusCode == HttpStatus.SC_MOVED_PERMANENTLY)
//                  || (statusCode == HttpStatus.SC_SEE_OTHER)
//                  || (statusCode == HttpStatus.SC_TEMPORARY_REDIRECT)) {
//          //页面重定向代码
//      }HttpEntity entity = response.getEntity();StringBuilder pageBuffer = new StringBuilder();if(entity != null) {InputStream in = entity.getContent();BufferedReader br = new BufferedReader(new InputStreamReader(in, "utf-8"));String line;while((line = br.readLine()) != null) {pageBuffer.append(line);pageBuffer.append("\n");}System.out.println(pageBuffer.toString());in.close();br.close();}System.out.println("------------------------------");HttpPost httpPost = new HttpPost("http://www.weibo.com");// 将要POST的数据封包List<NameValuePair> nvps = new ArrayList<NameValuePair>();nvps.add(new BasicNameValuePair("username", "vip"));nvps.add(new BasicNameValuePair("password", "123456"));httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));CloseableHttpResponse response1 = httpclient.execute(httpPost);try {HttpEntity entity1 = response1.getEntity();if(entity != null) {System.out.println(EntityUtils.toString(entity1,"UTF-8"));}EntityUtils.consume(entity1);} finally {response.close();}} catch(ClientProtocolException e) {e.printStackTrace();} catch(IOException e) {e.printStackTrace();} finally {try {response.close();httpclient.close();} catch(IOException e) {e.printStackTrace();}}}
}

转载于:https://my.oschina.net/Skynil/blog/196908

HttpClient 4.3学习笔记相关推荐

  1. HttpClient 4.x 学习笔记:Cookie自动保存,登录状态保持,会话保持

    HttpClient 4.x 有这个功能,就是Cookie 维持功能.意思是说,通过如下代码创建了一个HttpClient ,如果不关闭这个HttpClient 的话,那么他的请求会自动解析上一个请求 ...

  2. Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数

    Android学习笔记---27_网络通信之通过GET和POST方式提交参数给web应用,以及使用httpClient,来给web项目以post方式发送参数 27_网络通信之通过GET和POST方式提 ...

  3. 《Angular4从入门到实战》学习笔记

    <Angular4从入门到实战>学习笔记 腾讯课堂:米斯特吴 视频讲座 二〇一九年二月十三日星期三14时14分 What Is Angular?(简介) 前端最流行的主流JavaScrip ...

  4. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  5. ASP.NET Core分布式项目实战(第三方ClientCredential模式调用)--学习笔记

    任务10:第三方ClientCredential模式调用 创建一个控制台程序 dotnet new console --name ThirdPartyDemo 添加 Nuget 包:IdentityM ...

  6. tornado学习笔记day08-tornado中的异步

    概述 应为epoll主要用来解决网络的并发问题,所以tornado中的异步也是主要体现在网络的IO异步上,即异步web请求 tornado.httpclient.AsyncHTTPClient tor ...

  7. 8. SpringBoot基础学习笔记

    SpringBoot基础学习笔记 课程前置知识说明 1 SpringBoot基础篇 1.1 快速上手SpringBoot SpringBoot入门程序制作 1.2 SpringBoot简介 1.2.1 ...

  8. Java基础学习笔记(二)_Java核心技术(进阶)

    本篇文章的学习资源来自Java学习视频教程:Java核心技术(进阶)_华东师范大学_中国大学MOOC(慕课) 本篇文章的学习笔记即是对Java核心技术课程的总结,也是对自己学习的总结 文章目录 Jav ...

  9. ESP32_WIFI MESH学习笔记4 MESH网WIFI桥接

    ESP32_WIFI MESH学习笔记4 MESH网与WIFI桥接 前言 在PlainlessMEH库的帮助下,我们很容易就建立了一个WIFI_MESH网络,但只是一个单一网络.本文计录使用WIFI ...

  10. Spring Cloud 学习笔记(1 / 3)

    Spring Cloud 学习笔记(2 / 3) Spring Cloud 学习笔记(3 / 3) - - - 01_前言闲聊和课程说明 02_零基础微服务架构理论入门 03_第二季Boot和Clou ...

最新文章

  1. LINUX系统服务与管理(Services)---------第五天
  2. OpenGL HDR渲染
  3. ffmpeg 转换flv压缩大小_ffmpeg转换参数和压缩输出大小的比率 参考 最新版本FFMPEG...
  4. R 学习 - 功能富集泡泡图
  5. 移动路由器刷linux,Linux小课堂开课了(7)-三线IP刷路由-移动-联通-电信
  6. java中常量和变量的区别_Java中三种变量
  7. R及RStudio下载安装教程(超详细)
  8. 物联网技术技术架构以及物联网应用领域的介绍
  9. JENKINS中maven使用jdk8和jdk11环境
  10. OpenStreetMap:对抗谷歌帝国的共享开源地图
  11. gromacs ngmx_gromacs初学入门
  12. 微信域名防封系统,APP下载链接域名怎么避免在微信中被封
  13. 解决OneNote 无法粘贴图像 的问题
  14. HDU - 4544 湫湫系列故事——消灭兔子 贪心+优先队列
  15. python2.x 默认编码问题
  16. Linux 运维知识梳理(1)运维基本功
  17. 2022-2027年中国步进电机制造行业发展监测及投资战略研究报告
  18. 推荐一款思维导图工具:MindManager
  19. all the mess, fucking messed up all the fuck things
  20. GeoServer WFS 多图层几何查询

热门文章

  1. vue如何获取tree当前选中的节点_vue Treeselect树形下拉框之获取选中节点的ids和lables操作...
  2. PHP调微信小程序接口:生成小程序码,常见问题
  3. Android Studio 控制台输出中文乱码
  4. 如何让应用出现在LINUX的右键/打开方式/更多应用
  5. gcc编译时传递宏定义
  6. LINUX使用wireshark
  7. 完全二叉树的节点数量
  8. win10 桌面的的文件都不见了 提示不注销保存都文件都为临时_Windows10隐藏的8个小技巧,每一个都非常实用又高效...
  9. php yii vendor,Yii2的安装--解决无Vendor目录的问题
  10. 卸载注册表_3Dmax软件无法安装?3Dmax软件正确卸载方法,重装无忧