httpClient带一个或多个参数实现
听课视频:https://www.bilibili.com/video/av68932809?p=5
思路分析:先创建httpClient对象,再通过URIBuilder对象根上网址,最后一步带上一个多个参数。
1核心代码分:
//1:创建httpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
//2:设置请求参数 http://yun.itheima.com/search?keys=Java
//创建URIBuilder
URIBuilder uriBuilder = new URIBuilder("http://yun.itheima.com/search");
//设置一个参数,若设置多个参数 uriBuilder.setParameter("keys", "Java").setParameter("login","userName");
uriBuilder.setParameter("keys", "Java").setParameter("login", "张三同学");
HttpGet httpGet = new HttpGet(uriBuilder.build());
System.out.println("http请求信息:"+httpGet); //返回值: http请求信息: GET http://www.itcast.cn HTTP/1.1
3:具体实现代码
/** * @version 1.0.0 * @program: recuit_gather * @description: * @author: zhangdaxu * @create: 2020-03-13 14:46 */ public class httpClientStuParam06Test { @Test public void getParam() throws URISyntaxException { System.out.println("测试httpClient配置"); //1:创建httpClient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); //2:设置请求参数 http://yun.itheima.com/search?keys=Java //创建URIBuilder URIBuilder uriBuilder = new URIBuilder("http://yun.itheima.com/search"); //设置一个参数,若设置多个参数 uriBuilder.setParameter("keys", "Java").setParameter("login","userName"); uriBuilder.setParameter("keys", "Java").setParameter("login", "张三同学"); HttpGet httpGet = new HttpGet(uriBuilder.build()); System.out.println("http请求信息:"+httpGet); //返回值: http请求信息: GET http://www.itcast.cn HTTP/1.1 //3:设置请求响应的接收变量,如内容为主及必要信息(host,API,HTTP code,响应code,响应时间等等记录)。 CloseableHttpResponse response=null; try { response= httpClient.execute(httpGet); if(response.getStatusLine().getStatusCode()==200){ //把得到响应的载体内容,传递给变量content String content = EntityUtils.toString(response.getEntity(), "utf8"); //输出响应内容的长度,暂不输出 System.out.println("响应得到内容长度为:"+content.length()); } } catch (IOException e) { e.printStackTrace(); } } }
做产品的程序,才是好的程序员!
分类:
httpClient
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!