博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HttpClient请求
阅读量:6224 次
发布时间:2019-06-21

本文共 1839 字,大约阅读时间需要 6 分钟。

一、背景

  公司有一个需求,就是之前的那个webservice实现的那个模块用http请求的方式实现.jar包下载地址

二、介绍Http请求

  HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本。其中最著名的就是RFC 2616。RFC 2616定义了今天普遍使用的一个版本——HTTP 1.1。

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。

HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。

三、如何执行一个Http请求

1、创建一个客户端,同时配置响应的参数

//创建一个客户端HttpClient client = new HttpClient(); //主机的配置信息HostConfiguration hostConfig = new HostConfiguration();//ip 地址,port端口hostConfig.setHost(ip, port); //客户端主机的配置client.setHostConfiguration(hostConfig);//其他的客户端参数HttpClientParams params = new HttpClientParams();//编码params.setContentCharset("utf-8");//是否是长连接params.setParameter("Connection", "keep-alive");//设置请求连接超时时间为5秒params.setConnectionManagerTimeout(5*1000);//测试params.setSoTimeout(5000);client.setParams(params);PostMethod method = new PostMethod();method.setRequestHeader("Connection", "Keep-Alive");

2、准备要发送的参数,可能是一个数组

//设置请求的urlURI uri = new URI("/epgs/api/setSyncCode",true,"utf-8");method.setURI(uri);//设置请求的参数(数组)NameValuePair[] params = new NameValuePair[] {                    new NameValuePair("syncCode", syncCode)            };method.setRequestBody(params);//设置请求头(防止有时候参数的位数会有问题)method.setRequestHeader("Content-Length", String.valueOf(method.getRequestEntity().getContentLength()));

3、发送Http请求

client.executeMethod(method);

4、获取响应的状态码和响应的数据进行分析并执行下一步的操作

//请求返回200if (method.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {     //获取服务器响应的数据     String result = method.getResponseBodyAsString();     if (result.equals("true")) {	ret = true;	} else {		ret = false;	} }

  

转载于:https://www.cnblogs.com/antonyhubei/p/5499201.html

你可能感兴趣的文章
redis 持久化 AOF RDB
查看>>
Java笔记6:循环
查看>>
Arm推出全新的Mali多媒体套件 感受完美视觉体验
查看>>
AngularJS实现产品列表(页面搜索,排序)
查看>>
Python3 urllib.parse 常用函数示例
查看>>
Oracle 等待事件之 db file scattered read
查看>>
git命令总结
查看>>
三大运营商集体表态:确保资产交接任务按时完成
查看>>
bootstrap的样式
查看>>
教你使用dsadd命令一键批量创建OU和用户(包含基础属性信息)
查看>>
第一篇 Python入门(day 1)
查看>>
webpack指南-webpack入门-开始使用webpack
查看>>
列表学习笔记1⃣
查看>>
mysql表、视图、索引(创建、修改、删除)相关示例
查看>>
3 运算符
查看>>
Panoramic 控件设计举例
查看>>
8.5 类的私有变量
查看>>
御未来安全之道 首届C3安全峰会举办
查看>>
pfSense添加子网的几种方式
查看>>
c#判断两个数的大小(2)
查看>>