目录

Http通讯Util,可以通过请求参数为jsonstring来通讯,也可以把请求参数放在request中进行通讯

HttpUtil类

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection; public class HttpUtil { /**
* 向指定URL发送GET方法的请求,参数都放在HttpRequestServlet request的内容中
* @param url 发送请求的URL
* @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param) {
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
URL realUrl = new URL(urlNameString);
// 打开和URL之间的连接
URLConnection connection = realUrl.openConnection();
// 设置通用的请求属性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立实际的连接
connection.connect();
// 定义 BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("【HTTP发送GET请求出现异常】:访问URL:"+url+",错误:"+e.getMessage());
}
// 使用finally块来关闭输入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
System.out.println("【HTTP请求关闭输入流异常】:访问URL:"+url+",错误:"+e2.getMessage());
}
}
return result;
} /**
* 通过一个jsonString参数来传递数据,POST请求
* 请求地址的接口的参数必须为String data
* @param json
* @param urls
* @return
*/
public static String jsonPost(String urls,String json) {
OutputStream out = null;
BufferedReader inputStreamReader = null;
StringBuffer buffer=null;
try {
URL url = new URL(urls);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setConnectTimeout(20000);
connection.setReadTimeout(20000);
connection.setInstanceFollowRedirects(true);
connection.setRequestMethod("POST"); // 设置请求方式
connection.setRequestProperty("Accept-Charset", "utf-8"); // 设置接收数据的格式
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 设置发送数据的格式
connection.connect();
out = connection.getOutputStream();
String pushData = "data="+json;
out.write(pushData.getBytes("UTF-8"));
out.flush();
out.close();
//获取响应
inputStreamReader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
// 读取响应
buffer = new StringBuffer();
String data= new String("");
while ((data = inputStreamReader.readLine()) != null) {
buffer.append(data);
}
while ((data = inputStreamReader.readLine()) != null) {
buffer.append(data);
}
}catch (Exception e) {
e.printStackTrace();
}finally{
try {
if(inputStreamReader != null){
inputStreamReader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
} return buffer.toString();
} }

最新文章

  1. Chrome开发者工具不完全指南(一、基础功能篇)
  2. 遭遇input与button按钮背景图失效不显示的解决办法
  3. Nginx上传文件返回413的解决
  4. Javascript模式(第五章对象创建模式)------读书笔记
  5. 如何在 Linux 终端中知道你的公有 IP
  6. 通过IL分析C#中的委托、事件、Func、Action、Predicate之间的区别与联系
  7. ubuntu安装redis
  8. 一个小玩具:Python调用Mysql
  9. 五,ESP8266 TCP服务器多连接
  10. 在Ubuntu中部署并测试Fabric 1.0 Beta
  11. C语言作业评价标准
  12. iOS制作自己的Framework框架
  13. DockerToolbox在Win7上的安装和设置
  14. (网页)jQuery判断checkbox是否选中的方法
  15. python机器学习-sklearn挖掘乳腺癌细胞(二)
  16. loadrunner笔记(二):飞机订票系统--客户信息注册
  17. input输入的数据只允许整数和浮点型数据
  18. Jenkins的安装及使用(一)
  19. 中南大学oj:1352: New Sorting Algorithm
  20. gitlab 地址https://www.gitlab.com.cn/installation/#centos-7

热门文章

  1. Django入门三之urls.py重构及参数传递
  2. FastDFS单机版安装
  3. Python(Django)项目与Apache的管理交互
  4. js相关
  5. Vue-cli的配置知识
  6. 洛谷 P3177 树上染色 解题报告
  7. goroutine和线程区别
  8. bugku login2 writeup 不使用vps的方法
  9. selenium中浏览器及对应的驱动(可下载)
  10. 利用异或求(整数数组中,有2K+1个数,其中有2k个相同,找出不相同的那个数)