我的编程空间,编程开发者的网络收藏夹
学习永远不晚

JAVA发送HTTP请求的方式有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

JAVA发送HTTP请求的方式有哪些

这篇文章主要介绍“JAVA发送HTTP请求的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JAVA发送HTTP请求的方式有哪些”文章能帮助大家解决问题。

1. HttpURLConnection

使用JDK原生提供的net,无需其他jar包,代码如下:

import com.alibaba.fastjson.JSON;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.URL;import java.util.HashMap;import java.util.Map; public class HttpTest1 {     public static void main(String[] args) {        HttpURLConnection con = null;         BufferedReader buffer = null;        StringBuffer resultBuffer = null;         try {            URL url = new URL("http://10.30.10.151:8012/gateway.do");            //得到连接对象            con = (HttpURLConnection) url.openConnection();            //设置请求类型            con.setRequestMethod("POST");            //设置Content-Type,此处根据实际情况确定            con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");            //允许写出            con.setDoOutput(true);            //允许读入            con.setDoInput(true);            //不使用缓存            con.setUseCaches(false);            OutputStream os = con.getOutputStream();            Map paraMap = new HashMap();            paraMap.put("type", "wx");            paraMap.put("mchid", "10101");            //组装入参            os.write(("consumerAppId=test&serviceName=queryMerchantService&params=" + JSON.toJSONString(paraMap)).getBytes());            //得到响应码            int responseCode = con.getResponseCode();            if (responseCode == HttpURLConnection.HTTP_OK) {                //得到响应流                InputStream inputStream = con.getInputStream();                //将响应流转换成字符串                resultBuffer = new StringBuffer();                String line;                buffer = new BufferedReader(new InputStreamReader(inputStream, "GBK"));                while ((line = buffer.readLine()) != null) {                    resultBuffer.append(line);                }                System.out.println("result:" + resultBuffer.toString());            }        } catch (Exception e) {            e.printStackTrace();        }    }}

2. HttpClient

需要用到commons-httpclient-3.1.jar,maven依赖如下:

<dependency>    <groupId>commons-httpclient</groupId>    <artifactId>commons-httpclient</artifactId>    <version>3.1</version></dependency>

代码如下:

import com.alibaba.fastjson.JSON;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.methods.PostMethod; import java.io.IOException;import java.util.HashMap;import java.util.Map; public class HttpTest2 {     public static void main(String[] args) {        HttpClient httpClient = new HttpClient();        PostMethod postMethod = new PostMethod("http://10.30.10.151:8012/gateway.do");         postMethod.addRequestHeader("accept", "*    private static String readLine(InputStream is, int contentLe) throws IOException {        ArrayList lineByteList = new ArrayList();        byte readByte;        int total = 0;        if (contentLe != 0) {            do {                readByte = (byte) is.read();                lineByteList.add(Byte.valueOf(readByte));                total++;            } while (total < contentLe);//消息体读还未读完        } else {            do {                readByte = (byte) is.read();                lineByteList.add(Byte.valueOf(readByte));            } while (readByte != 10);        }         byte[] tmpByteArr = new byte[lineByteList.size()];        for (int i = 0; i < lineByteList.size(); i++) {            tmpByteArr[i] = ((Byte) lineByteList.get(i)).byteValue();        }        lineByteList.clear();         return new String(tmpByteArr, encoding);    }}

6. RestTemplate

RestTemplate 是由Spring提供的一个HTTP请求工具。比传统的Apache和HttpCLient便捷许多,能够大大提高客户端的编写效率。代码如下:

import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.client.ClientHttpRequestFactory;import org.springframework.http.client.SimpleClientHttpRequestFactory;import org.springframework.web.client.RestTemplate; @Configurationpublic class RestTemplateConfig {     @Bean    public RestTemplate restTemplate(ClientHttpRequestFactory factory){        return new RestTemplate(factory);    }     @Bean    public ClientHttpRequestFactory simpleClientHttpRequestFactory(){        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();        factory.setConnectTimeout(15000);        factory.setReadTimeout(5000);        return factory;    }}  @AutowiredRestTemplate restTemplate; @Testpublic void postTest() throws Exception {    MultiValueMap<String, String> requestEntity = new LinkedMultiValueMap<>();    Map paraMap = new HashMap();    paraMap.put("type", "wx");    paraMap.put("mchid", "10101");    requestEntity.add("consumerAppId", "test");    requestEntity.add("serviceName", "queryMerchant");    requestEntity.add("params", JSON.toJSONString(paraMap));    RestTemplate restTemplate = new RestTemplate();    System.out.println(restTemplate.postForObject("http://10.30.10.151:8012/gateway.do",         requestEntity, String.class));}

关于“JAVA发送HTTP请求的方式有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

JAVA发送HTTP请求的方式有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

JAVA发送HTTP请求的方式有哪些

这篇文章主要介绍“JAVA发送HTTP请求的方式有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JAVA发送HTTP请求的方式有哪些”文章能帮助大家解决问题。1. HttpURLConnecti
2023-07-05

在JAVA中发送HTTP请求的方式有哪些

在JAVA中发送HTTP请求的方式有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式
2023-06-06

java发送http get请求的两种方式

长话短说,废话不说一、第一种方式,通过HttpClient方式,代码如下:public static String httpGet(String url, String charset) throws HttpException, IO
2023-05-31

利用java实现发送http或get请求的方法有哪些

这篇文章将为大家详细讲解有关利用java实现发送http或get请求的方法有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、第一种方式,通过HttpClient方式,代码如下:publ
2023-05-31

JAVA发送HTTP请求的多种方式详细总结

目前做项目中有一个需求是这样的,需要通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断,下面这篇文章主要给大家介绍了关于JAVA发送HTTP请求的多种方式总结的相关资料,需要的朋友可以参考下
2023-01-30

Node发起HTTP请求的方法有哪些

本篇内容主要讲解“Node发起HTTP请求的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node发起HTTP请求的方法有哪些”吧!正文Node.js HTTPS ModuleNode
2023-07-04

php发送get请求的方法有哪些

PHP发送GET请求的方法有以下几种:1. 使用file_get_contents函数:可以通过该函数向指定的URL发送GET请求,并返回请求的结果。例如:```php$response = file_get_contents('http:
2023-08-11

java请求接口的方式有哪些

Java请求接口的方式有以下几种:1. 使用HttpURLConnection:使用Java标准库中的HttpURLConnection类来发送HTTP请求并获取响应。2. 使用Apache HttpClient:Apache HttpCl
2023-10-25

图片的HTTP请求方法有哪些

这篇文章主要介绍“图片的HTTP请求方法有哪些”,在日常操作中,相信很多人在图片的HTTP请求方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”图片的HTTP请求方法有哪些”的疑惑有所帮助!接下来,请跟
2023-06-08

实现HTTP请求的方法有哪些

本篇文章为大家展示了实现HTTP请求的方法有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、HTTP的请求与响应HTTP协议(HyperText Transfer Protocol,超文本传输
2023-05-31

HTTP POST请求发送form-data格式的数据

1、业务需求 发送请求给第三方服务的接口,且请求报文格式为multipart/form-data的数据。支持复杂类型的参数,包含文件类型 2、 依赖包 dependency>groupId>org.projectlombok/groupId
2023-08-19

ajax的请求方式有哪些

Ajax的请求方式有以下几种:1. GET:使用GET方法发送请求,获取指定资源。这是最常用的请求方式之一。例如:`$.get(url, data, success, dataType)`2. POST:使用POST方法发送请求,向指定资源
2023-09-13

python怎样通过get方式,post方式发送http请求和接收http响应

这期内容当中小编将会给大家带来有关python怎样通过get方式,post方式发送http请求和接收http响应,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.GET方法get方法是直接将要请求的数据放
2023-06-04

Java中Https发送POST请求的方法

这篇文章主要介绍Java中Https发送POST请求的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分
2023-06-15

JAVA中的HTTP请求怎么利用HttpClient实现发送

JAVA中的HTTP请求怎么利用HttpClient实现发送?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。HttpClient介绍HttpClient 不是一个
2023-05-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录