java http get和post请求
1.http工具类
package com.funshion.common.utils;
import java.net.URI;
import java.net.URL;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* http工具类
*
* @author qiuwy
*
*/
@SuppressWarnings({ "deprecation", "resource" })
public class HttpUtil {
private static Logger logger = LoggerFactory.getLogger(HttpUtil.class);
/**
* get
*
* @param url
* @return
* @throws Exception
*/
public static HttpResVo doGet(String getUrl) throws Exception {
URL url = new URL(getUrl);
URI uri = new URI(url.getProtocol(), null, url.getHost(), url.getPort(), url.getPath(), url.getQuery(), null);
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(uri);
HttpResponse response = httpclient.execute(httpGet);
int httpCode = response.getStatusLine().getStatusCode();
String result = EntityUtils.toString(response.getEntity());
logger.info("Get.url=" + uri + ",response code=" + httpCode + ",response entity=" + result);
return new HttpResVo(httpCode, result);
}
/**
* post
*
* @param url
* @param params
* @return 返回http code
*
*/
public static HttpResVo doPost(String url, String params) throws Exception {
URL postUrl = new URL(url);
URI uri = new URI(postUrl.getProtocol(), null, postUrl.getHost(), postUrl.getPort(), postUrl.getPath(), postUrl.getQuery(), null);
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(uri);
StringEntity entity = new StringEntity(params, HTTP.UTF_8);
entity.setContentType("application/json;charset=UTF-8");
httpPost.setHeader("Accept", "application/json");
httpPost.setEntity(entity);
HttpResponse response = httpclient.execute(httpPost);
int httpCode = response.getStatusLine().getStatusCode();
String result = EntityUtils.toString(response.getEntity());
logger.info("Post.url=" + uri + ",response code=" + httpCode + ",response entity=" + result);
return new HttpResVo(httpCode, result);
}
/**
* 根据参数和url访问远程,得到返回值
*
* @return
*/
protected HttpResVo getHttpResult(String url,String method,String parameter) throws Exception {
if (StringUtils.isEmpty(method)) {
logger.error("method is null.");
return null;
}
// get方法的处理
if (method.equalsIgnoreCase(GET)) {
StringBuffer _url = new StringBuffer(url);
if (!StringUtils.isEmpty(parameter)) {
_url.append("?").append(parameter);
System.out.println(_url.toString());
}
return HttpUtil.doGet(_url.toString());
} else {// post方法处理
if (!StringUtils.isEmpty(parameter)) {
return HttpUtil.doPost(url, parameter);
}
logger.error("post method has parameter none.");
}
return null;
}
}
2.http响应返回值
package com.funshion.common.utils;
/**
* http响应返回值
*
* @author qiuwy
*
*/
public class HttpResVo implements java.io.Serializable {
private int httpCode;
private String result;
public HttpResVo() {
}
public HttpResVo(int httpCode, String result) {
this.httpCode = httpCode;
this.result = result;
}
public int getHttpCode() {
return httpCode;
}
public void setHttpCode(int httpCode) {
this.httpCode = httpCode;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
}
java http get和post请求的更多相关文章
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...
- 通过java.net.URLConnection发送HTTP请求的方法
一.前言 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.UR ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,java 判断请求是不是ajax请求 Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 java ...
- java 模拟浏览器发送post请求
java使用URLConnection发送post请求 /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求 ...
- 通过java.net.URLConnection发送HTTP请求(原生、爬虫)
目录 1. 运用原生Java Api发送简单的Get请求.Post请求 2. 简单封装 3. 简单测试 如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求.Ja ...
- Java Servlet (1) —— Filter过滤请求与响应
Java Servlet (1) -- Filter过滤请求与响应 版本: Java EE 6 参考来源: Oracle:The Java EE 6 Tutorial: Filtering Reque ...
- java学习-get和post请求
摘要 看完本文可以知道,使用java原生编写get/post请求的步骤,进行网络请求时应该注意的地方. 这里使用java自带的HttpUrlConnection对象进行网络请求, 请求步骤大致分为五步 ...
- java接口如何有效防止恶意请求
java接口如何有效防止恶意请求?已解决 解决方法: 1.在redis数据库db0中新建一个名为rd_sms_request_count表,表结构: Ip:客户请求的ip Success_coun ...
- 【SpringBoot】 Java中如何封装Http请求,以及JSON多层嵌套解析
前言 本文中的内容其实严格来说不算springboot里面的特性,属于JAVA基础,只是我在项目中遇到了,特归纳总结一下. HTTP请求封装 目前JAVA对于HTTP封装主要有三种方式: 1. JAV ...
随机推荐
- Scratch 3.6环境搭建(万江波实战记录)
1.Scratch官网在线环境 官方网址:scratch.mit.edu 进入后,点击“Create”建立 2. Scratch官网在线环境_简体中文(点击这个地球) 3-选择:创意 4-进入”创意“ ...
- Redis 内存管理 源码分析
要想了解redis底层的内存管理是如何进行的,直接看源码绝对是一个很好的选择 下面是我添加了详细注释的源码,需要注意的是,为了便于源码分析,我把redis为了弥补平台差异的那部分代码删了,只需要知道有 ...
- WPF 精修篇 缩放ScaleTransform
原文:WPF 精修篇 缩放ScaleTransform 缩放 ScaleTransform 参数 ScaleX X轴缩小值 正常为1 ScaleY Y轴缩小值 正常为1 CenterY ,Cente ...
- 七雄Q传封包辅助技术探讨回忆贴
前言 网页游戏2013年左右最火的类型最烧钱游戏,当年的我也掉坑了.为了边玩还满足码农精神我奋力的学习如何来做外挂.2013年我工作的第二个年头.多一半…介绍下游戏<七雄Q传>是北京游戏谷 ...
- Javascript 日历插件
1. The Coolest Calendar 界面非常漂亮的一款日期选择插件,有详细的使用文档,最新版本 1.5. 点击下载 查看示例 2. DatePicker 这款日期插件支持单选.多选和 ...
- Java高级工程师面试宝典
Java高级工程师面试宝典 JavaSE 多线程 进程与线程的区别? 答:进程是所有线程的集合,每一个线程是进程中的一条执行路径,线程只是一条执行路径. 为什么要用多线程? 答:提高程序效率 多线程创 ...
- loj#10172 涂抹果酱 (状压DP)
题目: #10172. 「一本通 5.4 练习 1」涂抹果酱 解析: 三进制的状压DP 经过简单的打表发现,在\(m=5\)时最多有\(48\)种合法状态 然后就向二进制一样枚举当前状态和上一层的状态 ...
- Scanner 中next()和nexline()方法的区别
在java实现字符窗口的输入时,很多人更喜欢选择使用扫描器scanner,它操作起来比较简单.在编程的过程中,我发现用scanner实现字符串的输入有两种方法,一种是next(),另一种是next ...
- Winform中实现ZedGraph不显示y=0这条刻度线
场景 Winforn中设置ZedGraph曲线图的属性.坐标轴属性.刻度属性: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...
- 本地eyoucms搬家
1.后台数据备份 2.删除install 里面的install.lock 3.清理缓存文件 data - runtime-删除所有文件: 4.项目中的文件全部压缩 即打包完毕:最后再把打包的文件放置到 ...