java代码使用Get请求或者Post请求获取网络内容
引入的依赖包,也可以去 阿里仓库下载 ————>前往阿里云仓库
<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.7</version><scope>test</scope>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.1.RELEASE</version>
</dependency>
一个Get Post请求的java代码
import org.apache.commons.lang3.StringUtils;
import org.springframework.util.StreamUtils;import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.Charset;
import java.util.Map;public class HttpUtil {/*** post请求* @param urlStr* @param param* @param userAgent* @return*/public static String httpPost(String urlStr,String param,String userAgent){try {URL url = new URL(urlStr);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");conn.setReadTimeout(5000);conn.setConnectTimeout(60 * 1000);if(StringUtils.isNotBlank(userAgent)){conn.setRequestProperty("User-Agent",userAgent);}conn.setUseCaches(false);conn.setDoInput(true);conn.setDoOutput(true);BufferedOutputStream out = new BufferedOutputStream(conn.getOutputStream());BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream(),"utf-8"));bw.write(param);bw.flush();bw.close();if (conn.getResponseCode()==200){BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(),"utf-8"));String tempStr = null;String str = "";while ((tempStr=br.readLine())!=null){str +=tempStr;}br.close();return str;}}catch (Exception e){e.printStackTrace();}return null;}/*** post请求* @param urlStr* @param xmlParam* @return*/public static String httpPost(String urlStr,String xmlParam){return httpPost(urlStr,xmlParam,null);}/*** 调用外部接口,并返回响应结果* @param httpUrl* @param params* @return* @throws Exception*/public static String sendHttpPostRequest(String httpUrl, Map<String, String> params) throws Exception{URL url = new URL(httpUrl);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("POST");conn.setDoOutput(true);if(params != null && params.size() > 0){StringBuilder sb = new StringBuilder();for(Map.Entry<String, String> entry : params.entrySet()){sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());}conn.getOutputStream().write(sb.substring(1).getBytes("utf-8"));}conn.connect();String responseContent = StreamUtils.copyToString(conn.getInputStream(), Charset.forName("utf-8"));conn.disconnect();return responseContent;}public static String sendHttpGetRequest(String httpUrl, Map<String, String> params) throws Exception{try {if(params != null && params.size() > 0){StringBuilder sb = new StringBuilder();for(Map.Entry<String, String> entry : params.entrySet()){sb.append("&").append(entry.getKey()).append("=").append(entry.getValue());}sb = new StringBuilder(sb.substring(1));if(httpUrl.contains("?")){httpUrl += "&"+sb.toString();}else{httpUrl += "?"+sb.toString();}}URL url = new URL(httpUrl);HttpURLConnection conn = (HttpURLConnection)url.openConnection();conn.setRequestMethod("GET");conn.setDoOutput(true);conn.connect();String responseContent = StreamUtils.copyToString(conn.getInputStream(), Charset.forName("utf-8"));conn.disconnect();return responseContent;} catch (IOException e) {e.printStackTrace();return null;}}//获得网络路径public static InputStream getImageStream(String url) throws Exception{HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();connection.setReadTimeout(5000);connection.setConnectTimeout(5000);connection.setRequestMethod("GET");connection.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36");if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {return connection.getInputStream();}else{throw new Exception("响应状态:" + connection.getResponseCode() + "\n" +"响应内容:" + connection.getResponseMessage());}}//判断当前请求是否有效public static boolean sendGetRequestAck(String url) throws Exception{HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();connection.setReadTimeout(5000);connection.setConnectTimeout(5000);connection.setRequestMethod("GET");connection.addRequestProperty("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36");if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {return true;}else{return false;}}//把字节流转换成字节数组public static byte[] toByteArray(InputStream input) {try {ByteArrayOutputStream output = new ByteArrayOutputStream();byte[] buffer = new byte[1024*4];int n = 0;while (-1 != (n = input.read(buffer))) {output.write(buffer, 0, n);}return output.toByteArray();} catch (IOException e) {e.printStackTrace();return null;}}//把字节数组转换成字节流public static InputStream toInputStream(byte[] bytes){return new ByteArrayInputStream(bytes);}//字节流转换字节流public static InputStream toInputStream(InputStream input){return toInputStream(toByteArray(input));}
}
java代码使用Get请求或者Post请求获取网络内容相关推荐
- java请求注释_求达人给java代码【注释】!!请求尽量详细,万分感谢!!
(1)定义一个接口Inf,含有常量π和一个实现计算功能的方法calculate(),再分别定义一个面积类area和一个周长类circumference,各自按计算圆面积和圆周长具体实现接口中的方法,并 ...
- ajax 直接向后台发送请求,通过ajax异步向后端发送请求,响应请求向前端传送json格式数据的实现思路...
一.前端异步请求代码: $.ajax ({ type: "POST",//请求的方式 url: "outputservlet3",//请求url data: { ...
- 赵聪慧 java,基于Instrumentation的JAVA代码暖替换
基于Instrumentation的JAVA代码热替换 理类用来获取 Instrumentation 实例package com.codeconch.util; import java.lang.in ...
- java 墨卡托 经纬度_Web墨卡托坐标与WGS84经纬度互转 java代码
Web墨卡托坐标与WGS84经纬度互转 java代码 时间:5年前 浏览:2309 [网络转载] package com.util; public class Coordinate { static ...
- 如何设置Fiddler来拦截Java代码发送的HTTP请求,进行各种问题排查
我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...
- java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查
我们使用Java的RestTemplate或者Apache的HTTPClient编程的时候,经常遇到需要跟踪Java 代码发送的HTTP请求明细的情况.和javascript代码在浏览器里发送请求可以 ...
- java代码发送请求并传参_如何优化您的请求请求并使代码审核人员满意
java代码发送请求并传参 Imagine reading a novel, but having the chapters sliced up and reordered alphabeticall ...
- get/post请求使用工具(apifox/postman/浏览器)能请求通但是java代码不行的问题解决
目录 1.报错描述 2.代码请求不通,大多数的情况 3.代码请求不通,报错400的情况(重点说明) 1.报错描述 一个接口,使用apifox.postman工具都可以测通: 但是java代码请求不通: ...
- Java代码模拟一个Post请求
Java代码模拟一个Post请求 我们常用的http请求无非GET和POST.在springboot项目中,我们如果想要测试一段代码无非就是项目跑起来,然后在浏览器中通过输入url,看浏览器中(按 ...
- Java代码实现执行HTTP请求
1.导入依赖: <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhtt ...
最新文章
- 建立广域网时使用的拓扑结构是什么?
- 基于opencv的霍夫方法和RANSAC方法两种圆检测
- 20210620 Successive projection algorithm(连续投影法)
- Docker最全教程——数据库容器化之持久保存数据(十一)
- Ti的DM368系列芯片的所有PDF资料汇总
- VIsual Studio编译OpenCV:无法打开python27_d.lib(python36_d.lib)的问题
- 罗技 连点 脚本_罗技推出多款《英雄联盟》联名外设 看了就忍不住想要
- C# 整数转二进制字符串
- (68)Verilog HDL系统函数和任务:$random
- 『Linux』ArchLinux与VirtualBox的结合「二」
- 双叉积——拉格朗日公式证明
- 【渝粤教育】电大中专门店销售与服务技巧 (3)作业 题库
- 建筑热过程太阳辐射负荷计算
- 数据之美:迄今 10 佳数据可视化示例
- 按键android手机排行榜,【直板全键盘手机推荐】直板键盘手机排行榜
- 民航大学推出订单式培养空姐 恋爱学系必修课程
- 概率统计笔记:共轭分布
- 国科大刘玉贵老师计算机算法设计与分析2021年期末考试题回顾
- jython podcast cool isnt't it?
- 开心网kaixin001.com外挂免费下载