java httpclient 包_java实现http请求之HttpClient
public static String doGet(String url, String charset) {
//1.生成HttpClient对象并设置参数
HttpClient httpClient = new HttpClient();
//设置Http连接超时为5秒
httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(5000);
//2.生成GetMethod对象并设置参数
GetMethod getMethod = new GetMethod(url);
//设置get请求超时为5秒
getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 5000);
//设置请求重试处理,用的是默认的重试处理:请求三次
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler());
String response = "";
//3.执行HTTP GET 请求
try {
int statusCode = httpClient.executeMethod(getMethod);
//4.判断访问的状态码
if (statusCode != HttpStatus.SC_OK) {
System.err.println("请求出错:" + getMethod.getStatusLine());
}
//5.处理HTTP响应内容
//HTTP响应头部信息,这里简单打印
Header[] headers = getMethod.getResponseHeaders();
for(Header h : headers) {
System.out.println(h.getName() + "---------------" + h.getValue());
}
//读取HTTP响应内容,这里简单打印网页内容
//读取为字节数组
byte[] responseBody = getMethod.getResponseBody();
response = new String(responseBody, charset);
System.out.println("-----------response:" + response);
//读取为InputStream,在网页内容数据量大时候推荐使用
//InputStream response = getMethod.getResponseBodyAsStream();
} catch (HttpException e) {
//发生致命的异常,可能是协议不对或者返回的内容有问题
System.out.println("请检查输入的URL!");
e.printStackTrace();
} catch (IOException e) {
//发生网络异常
System.out.println("发生网络异常!");
} finally {
//6.释放连接
getMethod.releaseConnection();
}
return response;
}
public static String doPost(String url, JSONObject json){
HttpClient httpClient = new HttpClient();
PostMethod postMethod = new PostMethod(url);
postMethod.addRequestHeader("accept", "*/*");
postMethod.addRequestHeader("connection", "Keep-Alive");
//设置json格式传送
postMethod.addRequestHeader("Content-Type", "application/json;charset=GBK");
//必须设置下面这个Header
postMethod.addRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36");
//添加请求参数
postMethod.addParameter("commentId", json.getString("commentId"));
String res = "";
try {
int code = httpClient.executeMethod(postMethod);
if (code == 200){
res = postMethod.getResponseBodyAsString();
System.out.println(res);
}
} catch (IOException e) {
e.printStackTrace();
}
return res;
}
java httpclient 包_java实现http请求之HttpClient相关推荐
- java 图像识别包_Java基于百度API的图片文字识别免费源码和jar包
1.准备工作(jdk1.8) 使用之前需要获取对应的项目API_KEY,SECRET_KEY,这些参数在使用API的时候必须用到,用于生成access_token. 如何获取这些参数? 登陆后创建一个 ...
- java md5包_JAVA中有没有提供MD5算法的包啊?
拉莫斯之舞 有,在java.security包的MessageDigest类.例子:import java.security.MessageDigest;public class Test2 {pub ...
- java 不同包_Java项目中不同包的命名及作用
①在vo或者domain包中定义bean类,主要是类的属性,这个类跟数据库中的某个表的字段一致. ②dao包中主要是存放用于操作数据库完成业务逻辑方法的接口. ③dao.impl这个包存放着这样的一个 ...
- java.awt包_java.awt包介绍
组件, Component类是所有AWT组件的根. 用户与组件交互操作时,一些组件会激发事件, AWTEvent类及其子类用于表达AWT组件能够激发的事件. 容器是一个可以含有组件和其他容器的组件, ...
- java.awt包_java.awt包 简介
java.awt有创建用户接口.绘图和图像的所有类.用户接口对象,例如按钮或滚动条, 在AWT(Abstrat Window Toolkit)中被称为组件, Component类是所有AWT组件的根. ...
- java解包_Java的原始类型自动包装与解包机制
java5之后对原始数据类型如int.char.long等基本数据类型有自动打包成相应的复合类型Integer.Character.Long等的机制:也可以将复合类型自动转换为原始类型. 这取决于程序 ...
- java newinstance 包_Java Class类 newInstance()方法及示例
Class类newInstance()方法newInstance()方法在java.lang包中可用. newInstance()方法用于创建此Class对象表示的类的新实例. newInstance ...
- java http 包_java http请求
[java]代码库package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io ...
- java unit包_Java接入UNIT文本对话处理源码详解
应邀一位网友的想法,想实现调用UNIT接口,实现文字对话功能,特整理一下内容分享给大家. 此功能对于大神来说非常简单,但是对于新手理解代码处理逻辑,并且如何解析UNIT返回参数的处理,还是有一定的帮助 ...
最新文章
- Git命令集十五——拉取命令
- python数据分析可视化实例_Python数据分析及可视化实例之基于Kmean分析RFM进行用户关怀...
- ts可展开注释_TS语法之装饰器(注解)
- 使用SharedPreference保存用户数据的步骤
- navicat超时未激活如何处理?
- 专用计算机数控编程软件有哪些,大家都用什么数控编程软件
- c语言alt 小键盘,ALT+小键盘输入《泡MM好招》
- php chr 1,PHP chr()用法及代码示例
- prettier工具格式化
- AE动画怎么导出?4种常见导出方式汇总
- iphone4s更换电池_更换iPhone电池有多困难?
- WebApp网页真机调试工具-(Android)
- Azure function app的使用
- 研究型论文_CICIDS2017 数据集中基于异常的入侵检测系统的机器学习基准测试(英文论文)
- 在ArcGIS中批量删除属性表字段
- Android编译chromium
- Robomongo连接远程MongoDB数据库
- 成败不在于公有云,而在GE一念之间
- layui 翻页记住选择
- Android开源项目分类总结(转)
热门文章
- Q127:PBRT-V3,理解“体渲染”积分器的关键竟然是这张图
- 问题六十八:光照模型(Light model)——关于“环境光”模型的补充
- 工业大数据的应用有哪些
- 数据治理为何越来越重要
- Scala学习(一、环境配置和基础)
- photon 服务器操作系统,photon 云服务器
- arch linux u盘安装,安装 ArchLinux 到U盘(四)安装Archlinux
- python实现excel数据透视_在pywin32中创建Excel数据透视缓存
- mongo 多条件筛选_Excel筛选功能,你确定这些小技巧你都玩明白了
- python unicode编码转换中文_Python入门高级教程--Python 中文编码