java发送http请求

Java 实现 HTTP 请求的四种方式,你都学会了么? 在日常工作和学习中,有很多地方都需要发送HTTP请求,本文以Java为例,总结发送HTTP请求的多种方式HTTP请求实现过程GET创建远程连接设置连接方式(get、post、put…)设置连接超时时间设置响应读取时间发起请求获取请求数据关闭连接POST创建远程连接设置连接方式(get、post、put。。。设置连接超时时间设置响应读取时间当向远程服务器传送数据/写数据时,需要设置为当前向远程服务读取数据时,设置为true,该参数可有可无(setDoInput设置传入参数的格式:( 阅读详情
package com.service; 






import java.io.BufferedReader; 


import java.io.DataOutputStream; 


import java.io.IOException; 


import java.io.InputStreamReader; 


import java.net.HttpURLConnection; 


import java.net.URL; 


import java.net.URLEncoder; 






public class HttpInvoker { 






        public static final String GET_URL = " http://localhost:8080/demo/  "; 




        public static final String POST_URL = " http://localhost:8080/demo/  "; 




        public static void readContentFromGet() throws IOException { 


               // 拼凑get请求的URL字串,使用URLEncoder.encode对特殊和不可见字符进行编码 


               String getURL = GET_URL + " ?username= " 


                               + URLEncoder.encode("fat man", " utf-8 "); 


               URL getUrl = new URL(getURL); 


               // 根据拼凑的URL,打开连接,URL.openConnection()函数会根据 URL的类型,返回不同的URLConnection子类的对象,在这里我们的URL是一个http,因此它实际上返回的是HttpURLConnection 


               HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection(); 


               // 建立与服务器的连接,并未发送数据 


               connection.connect(); 


               // 发送数据到服务器并使用Reader读取返回的数据 


               BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); 


               System.out.println(" ============================= "); 


               System.out.println(" Contents of get request "); 


               System.out.println(" ============================= "); 


               String lines; 


               while ((lines = reader.readLine()) != null) { 


                       System.out.println(lines); 


               } 


               reader.close(); 


               // 断开连接 


               connection.disconnect(); 


               System.out.println(" ============================= "); 


               System.out.println(" Contents of get request ends "); 


               System.out.println(" ============================= "); 


        } 






        public static void readContentFromPost() throws IOException { 


               // Post请求的url,与get不同的是不需要带参数 


               URL postUrl = new URL(POST_URL); 


               // 打开连接 


               HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection(); 


               //打开读写属性,默认均为false 


               connection.setDoOutput(true);                 


        connection.setDoInput(true); 


               // 设置请求方式,默认为GET 


               connection.setRequestMethod(" POST "); 


               // Post 请求不能使用缓存 


               connection.setUseCaches(false); 


               // URLConnection.setFollowRedirects是static 函数,作用于所有的URLConnection对象。 


               // connection.setFollowRedirects(true); 


               //URLConnection.setInstanceFollowRedirects 是成员函数,仅作用于当前函数 


               connection.setInstanceFollowRedirects(true); 


               // 配置连接的Content-type,配置为application/x- www-form-urlencoded的意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode进行编码 


               connection.setRequestProperty(" Content-Type ", 


                               " application/x-www-form-urlencoded "); 


               // 连接,从postUrl.openConnection()至此的配置必须要在 connect之前完成, 


               // 要注意的是connection.getOutputStream()会隐含的进行调用 connect(),所以这里可以省略 


               //connection.connect(); 


               DataOutputStream out = new DataOutputStream(connection 


                               .getOutputStream()); 


               //正文内容其实跟get的URL中'?'后的参数字符串一致 


               String content = " firstname= "+URLEncoder.encode(" 一个大肥人 ", " utf-8 "); 


               // DataOutputStream.writeBytes将字符串中的16位的 unicode字符以8位的字符形式写道流里面 


               out.writeBytes(content); 


               out.flush(); 


               out.close(); // flush and close 


               BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); 


               String line; 


               System.out.println(" ============================= "); 


               System.out.println(" Contents of post request "); 


               System.out.println(" ============================= "); 


               while ((line = reader.readLine()) != null) { 


                       System.out.println(line); 


               } 


               System.out.println(" ============================= "); 


               System.out.println(" Contents of post request ends "); 


               System.out.println(" ============================= "); 


               reader.close(); 


               //connection.disconnect(); 


        } 






        public static void main(String[] args) { 


               // TODO Auto-generated method stub 


               try { 


                       readContentFromGet(); 


                       readContentFromPost(); 


               } catch (IOException e) { 


                       // TODO Auto-generated catch block 


                       e.printStackTrace(); 


               } 


        } 


} 
Apollo Planning2.0决策规划算法代码详细解析 (1):环境搭建 1、官方提供连接:git clone https://github.com/ApolloAuto/application-pnc.git。此外,也更新了dreamview对pnc的支持,使得调试更加方便。apollo开源团队近期更新了planning版本,对代码进行了一定程度上的重构。(2)进入docker,并编译整个工程:./apollo.sh build_dbg。下载项目环境后使用aem进行环境配置;2、有一定基础建议直接拉取最新代码,自己手动进行编译。(1)环境安装: ./dev_start.sh。 阅读详情

相关推荐

行列式详解:从定义到应用

本文系统介绍了行列式的核心概念和应用。首先从二阶、三阶行列式入手,逐步扩展到n阶行列式的定义,讲解了余子式和代数余子式的概念。其次,详细阐述了行列式的重要性质,包括转置不变性、行列交换变号等基本性质以及乘积性质等推论。在计算方法方面,介绍了按行展开法、化上三角矩阵法等实用技巧,并列举了特殊行列式的计算案例。最后重点讨论了行列式在克拉默法则、矩阵可逆性判断、几何体积计算及线性相关性判断等领域的应用。文章强调理解行列式的几何意义和灵活运用性质的重要性,并给出了学习建议和常见误区提示。行列式作为连接代数与几何的桥

aichitang2024的博客 3034

用java发送http请求

在 Java 中发送 HTTP 请求可以使用标准的 Java 库或者第三方库。这里介绍使用 Java 标准库中的 HttpURLConnection 类来发送 HTTP 请求的方法: 首先,使用 URL 类来创建一个 URL 对象,指定要访问的 URL。 使用 URL 对象的 openConnection 方法来获取 HttpURLConnection 对象。 设置 HTTP 请求的方法(GET...

weixin_35750747的博客 2240

Opencv实战:答题卡自动识别与评分系统(附完整代码解析)

本文详细介绍了如何使用OpenCV实现答题卡自动识别与评分系统,包含完整的代码解析。通过图像预处理、边缘检测、透视变换和答案识别等关键技术,系统能够快速准确地完成阅卷工作,适用于学校考试、资格认证等多种场景,大幅提升工作效率。

weixin_33737134的博客 415

【Java】汇总Java中发送HTTP请求的7种方式

汇总Java中常见的7种HTTP请求发送方式

weixin_42369773的博客 5138

X猫免费小说安卓逆向分析

七猫免费小说安卓逆向分析 难度(♥♥) 文章目录七猫免费小说安卓逆向分析 难度(♥♥)1. 查壳2. 抓包分析3. sign1. Frida-rpc2. Native函数分析快3点了. 睡觉~ 白天再继续写! 1. 查壳 我这边使用的是ApkTool, 拖进去显示未加壳。 2. 抓包分析 POST https://xiaoshuo.wtzw.com/api/v1/login/index HTTP/1.1 net-env: 1 channel: qm-cbcpa056_wm is-white: 0 platf

Qiled的博客 4366

Jasypt 开源加密库使用教程

Jasypt 加密框架概述 1、Jasypt Spring Boot 为 spring boot 应用程序中的属性源提供加密支持,出于安全考虑,Spring boot 配置文件中的敏感信息通常需要对它进行加密/脱敏处理,尽量不使用明文,要实现这一点,办法有很多,自己手动对敏感信息进行加解密也是可以的。 2、有需求就有人奉献,Jasypt 开源安全框架就是专门用于处理 Spring boot 属性加密的,在配置文件中直接配置密文,然后应用启动的时候,Jasypt 会自动将密码解密成明文供程序使用。 3、

蚩尤后裔-汪茂雄 3万+

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

程序员日常工作中,发送http请求特别常见。本文以Java为例,总结发送http请求的多种方式。 1. HttpURLConnection 使用JDK原生提供的net,无需其他jar包,代码如下: 2. HttpClient 需要用到commons-httpclient-3.1.jar,maven依赖如下: 代码如下: 3. CloseableHttpClient 需要用

liuyunyihao的博客 3万+

CentOS7下NFS共享报错RPC问题的3种解决方案(含防火墙配置详解)

本文详细解析了CentOS7下NFS共享报错RPC问题的3种解决方案,包括防火墙配置详解。从基础连通性检查到RPC服务状态验证,再到精准开放必要端口和SELinux集成,提供全面的排查与解决指南,帮助用户快速解决'No route to host'等常见问题。

weixin_29274969的博客 452

Java发送HTTP 请求

前言 请求http的Demo是个人亲测过,目前该方式已经在线上运行着。因为是http请求,所有发送post 和get 请求的demo都有在下方贴出,包括怎么测试,大家可直接 copy到自己的项目中使用。 正文 使用须知 为了避免大家引错包我把依赖和涉及到包路径给大家 import java.net.HttpURLConnection; import java.net.URI; imp...

晏霖/胖虎的博客 1万+

【小白深度教程 1.3】使用 BP-Net 深度补全网络,进行 KITTI 稠密点云和图像融合(Depth Completion 实战)

在上一节中,我们展示了如何将从激光雷达获取的稀疏点云(深度)映射到图像。因此这篇论文我们尝试使用 Depth Completion(深度补全)技术,来将稀释的点云深度,补全为稠密深度。

2401_87064292的博客 1198

YOLOv8有效涨点,增强型 YOLOV8 与多尺度注意力机制特征融合,附代码,详细步骤

在本实验中,我们通过将双层路由注意(BRA)、广义特征金字塔网络(GFPN)和第四检测头结合到YOLOv8中,开发了一种新颖的BGF-YOLO架构。BGF-YOLO 包含注意力机制,可以更多地关注重要特征,特征金字塔网络可以通过将高级语义特征与空间细节合并来丰富特征表示。此外,我们研究了不同的注意力机制和特征融合、检测头架构对检测准确性的影响。实验结果表明,与YOLOv8x相比,BGF-YOLO的mAP50增加了4.7%。

kay_545 3047

JAVA发送HTTP请求方式总结

java 发送HTTP请求方式总结 源代码:http://github.com/lovewenyo/HttpDemo 1. HttpURLConnection 使用JDK原生提供的net,无需其他jar包; HttpURLConnection是URLConnection的子类,提供更多的方法,使用更方便。 package httpURLConnection; import...

灵药的博客 6万+

大模型LangChain面试题及参考答案(上)

明确的输入输出类型:函数参数需包含类型注解,返回值需定义清晰的数据结构(如JSON格式),便于LLM理解参数含义和调用方式。工具描述:通过文档字符串或独立的描述对象(如Tool类)说明函数的功能、参数用途及调用场景,供LLM判断是否需要调用。示例:定义一个计算两个数之和的工具函数@tool"""计算两个整数的和。参数:- a:第一个整数- b:第二个整数调用场景:当用户需要进行数值加法计算时使用。"""除了内置的。

大模型大数据攻城狮的专栏 1137

java发送http请求的几种方式

因为Hutool-http机制问题,请求页面返回结果是一次性解析为byte[]的,如果请求URL返回结果太大(比如文件下载),那内存会爆掉,因此针对文件下载HttpUtil单独做了封装。文件下载在面对大文件时采用流的方式读写,内存中只是保留一定量的缓存,然后分块写入硬盘,因此大文件情况下不会对内存有压力。比传统的Apache和HttpCLient便捷许多,能够大大提高客户端的编写效率。这里指的是forest,官网地址,只需要声明接口,就可以使用。使用JDK原生提供的net,无需其他jar包。......

yubin1285570923的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java请求_通过java发送http请求

通常的http请求都是由用户点击某个连接或者按钮来发起的,但是在一些后台的Java程序中需要发送一些get或这post请求,因为不涉及前台页面,该怎么办呢?下面为大家提供一个Java发送http请求的工具类HttpRequest.javapackage org.javahttp.test;import java.io.BufferedReader;import java.io.IOExcepti...

weixin_35733151的博客 217

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

HttpClient介绍以及如何在JAVA中发送HTTP请求?

HttpClient介绍以及如何在JAVA中发送HTTP请求?

m0_63949203的博客 1254

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

通过Java发送http请求

通常的http请求都是由用户点击某个连接或者按钮来发起的,但是在一些后台的Java程序中需要发送一些get或这post请求,因为不涉及前台页面,该怎么办呢? 下面为大家提供一个Java发送http请求的工具类 HttpRequest.java package org.javahttp.test; import java.io.BufferedReader; import java.io.IOExc...

CSDnjava001的博客 1261

Java 发送http请求

发送GET方法的请求 /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,格式:name1=value1&name2=value2 * @return String 响应结果 ...

galen2016的博客 5525

java中http请求是什么_java中发送http请求

package com.nicchagil.httprequestdemo;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.OutputStreamWriter;import jav...

weixin_35931756的博客 309

java http请求发送demo

Java HTTP请求发送Demo 在现代的网络应用中,HTTP请求与响应是进行数据交互的主要方式。Java中的HttpURLConnection类和Apache HttpClient库使得发送HTTP请求变得简单高效。本文将通过代码示例,展示如何使用Java发送HTTP请求,并解析响应。 1. Java HTTP请求基本...

weixin_40558411的博客 240

java发送http post请求报文_怎么用java 发送http报文

写出关键的类和方法就行不知道是不是这个?HttpClienthttpClient=newHttpClient();response.setCharacterEncoding("utf-8");request.setCharacterEncoding("utf-8");//设置请求地址Po...写出关键的类和方法就行不知道是不是这个?HttpClient httpClient = new HttpC...

weixin_31290899的博客 756

Java发送Http请求的一般步骤

Java发送Http请求的一般步骤 最近在使用百度地图和百度AI的开发API,经常需要发送http请求,在这里记录一下java发送Http请求的步骤。希望对大家有用。 了解Http报文结构 首先介绍Http协议的结构。请求报文和响应报文都是由以下部分组成: 起始行 (URL) 头部(Header) 主体 (Body) 根据需要在不同的地方添加数据。我通过百度文字识别的栗子来说明:(选取的例子是...

qq_41856633的博客 3199

java 发送请求_Java模拟发送HTTP请求

Java模拟发送HTTP请求2015-10-26 14:15:00admin原创1453摘要:Java模拟发送HTTP请求package tk.xdatk.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;...

weixin_39704971的博客 157

Java 使用流的方式发送、接收 HTTP 请求

使用流的方式发送 HTTP 请求 (1)URL url = new URL(“地址”);(java.net.URL) (2)HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();(java.net.HttpURLConnection) (3)urlConnection.setReadTimeout(5...

用善良的眼光看世界 2317

JAVA发送HTTP请求的几种方式

JAVA发送HTTP请求的几种方式 以下4种分别可发送get和post请求的方法: 第1种:HttpURLConnection、 第2种:URLConnection、 第3种:HttpClient, HttpClient常用HttpGet和HttpPost这两个类,分别对应Get方式和Post方式。 使用DefaultHttpClient类的execute方法发送HttpGet和HttpPost这两个类的请求,并返回HttpResponse对象 第4种:Socket, 朋友们要注意的是,使用第3种HttpC

m0_47562115的博客 7148
上一篇: log4j输出多个自定义日志文件
下一篇: java log4j日志热配置
method_chen
博客等级 码龄15年 25粉丝 61原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值