一个简单的Get请求

HttpRequest httpRequest = HttpRequest.get("http://jodd.org");
HttpResponse response = httpRequest.send();
//更简洁的一种写法    HttpResponse response = HttpRequest.get("http://jodd.org").send();
System.out.println(response);

输出结果如下:

//下面是响应头信息
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=0, public
Connection: close
Content-Length: 15441
Content-Type: text/html; charset=utf-8
Date: Mon, 04 Jul 2016 14:26:08 GMT
Expires: Mon, 04 Jul 2016 14:26:08 GMT
Last-Modified: Thu, 24 Mar 2016 23:05:05 GMT
Server: nginx/1.10.1
Vary: Accept-Encoding<!DOCTYPE html>
<html>
......
</html>

//省略部分是访问页面的HTML页面
较为复杂一点的get请求:

HttpRequest request = new HttpRequest();
request.method("GET")//get请求.protocol("http")//协议使用http.host("jodd.org")//主机地址.port(80)//端口,没有写默认是80.path("/api/jsonws/user/get-user-by-id");//访问路径

HttpResponse对象中有下面三个方法:

body() - 返回ISO-8859-1编码的response返回体(上面的访问对应的是jodd的html源码)
bodyText() - 返回与响应头中相应编码的response返回体
bodyBytes() - 返回返回体的字节码
参数

//get访问中直接在URL中传递参数
HttpResponse response = HttpRequest.get("http://srv:8080/api/jsonws/user/get-user-by-id?userId=10194").send();
//调用方法的方式传递参数
HttpResponse response = HttpRequest.get("http://srv:8080/api/jsonws/user/get-user-by-id").query("userId", "10194").send();
//或者创建request对象后用以下map的方式传递参数
Map<String, Object[]> httpParams = request.query();
httpParams.put("userId", new String[] {"10194"});

基本的用户认证请求

request.basicAuthentication("test", "test");//是不是很方便啊

POST请求

HttpResponse response = HttpRequest.post("http://srv:8080/api/jsonws/user/get-user-by-id").form("userId", "10194")//这里与get的参数传递方式不同.send();

上传文件

HttpRequest httpRequest = HttpRequest.post("http://srv:8080/api/jsonws/dlapp/add-file-entry").form("repositoryId", "10178","folderId", "11219","sourceFileName", "a.zip","mimeType", "application/zip","title", "test","description", "Upload test","changeLog", "testing...","file",new File("d:\\a.jpg.zip"));
HttpResponse httpResponse = httpRequest.send();

还可以设置回调方法监听上传的进度等:

HttpResponse response = HttpRequest.post("http://localhost:8081/hello").form("file", file).monitor(new HttpProgressListener() {//监听上传的进度@Overridepublic void transferred(long len) {System.out.println(len/size);}}).send();

请求头等信息的设置 HttpRequest中提供了header的多种不同方法签名的传递header的方法,还提供headers使用map传递header的方法使用起来十分方便。 此为还提供contentType、cookie的等方法操作相关内容【具体可以看HttpRequest的API】
GZIP
有些网站使用了GZIP压缩技术,这就要求获得请求的时候使用GZIP解压才能获得数据,jodd提供了相关的支持而且使用十分简单:

HttpResponse response = HttpRequest.get("http://www.liferay.com").acceptEncoding("gzip").send();System.out.println(response.unzip());

body

HttpResponse response = HttpRequest.get("http://srv:8080/api/jsonws/invoke").body("{'$user[userId, screenName] = /user/get-user-by-id' : {'userId':'10194'}}").basicAuthentication("test", "test").send();

编码设置

HttpResponse response = HttpRequest.get("http://server/index.html").queryEncoding("CP1251").query("param", "value").send();

Soket连接

HttpRequest request = HttpRequest.get()...;
request.open();
SocketHttpConnection httpConnection =(SocketHttpConnection) request.httpConnection();
Socket socket = httpConnection.getSocket();
socket.setSoTimeout(1000);
...
HttpResponse response = request.send();

长连接

HttpRequest request = HttpRequest.get("http://jodd.org");HttpResponse response = request.connectionKeepAlive(true).send();// next requestrequest = HttpRequest.get("http://jodd.org/jodd.css");response = request.keepAlive(response, true).send();...// last requestrequest = HttpRequest.get("http://jodd.org/jodd.png");response = request.keepAlive(response, false).send();// optionally//response.close();

Jodd HTTP的使用相关推荐

  1. java jodd 框架中发送email

    2019独角兽企业重金招聘Python工程师标准>>> 用jodd发送电子邮件: 这里用QQ和126的邮箱进行测试,首先保证你的邮箱服务器已经开通了smtp的服务,一般在设置里面,比 ...

  2. 使用Jodd简化邮件服务的开发

    最近需要做一个邮件相关的功能,考虑到自建邮件服务器维护起来比较麻烦,于是选择第三方邮件服务.邮件发送服务的对比可以看这篇文章. 最后我选择了: sendCloud mailgun sendCloud向 ...

  3. jodd忽略ssl证书_Jodd - Java界的瑞士军刀,无法想象的轻量级工具包

    Jodd介绍 Jodd是对于Java开发更便捷的开源迷你框架,包含工具类.实用功能的集合,总包体积不到1.7M. Jodd构建于通用场景使开发变得简单,但Jodd并不简单!它能让你把事情做得更好,实现 ...

  4. Jodd - Java界的瑞士军刀轻量级工具包

    转载自 Jodd - Java界的瑞士军刀轻量级工具包! Jodd介绍 Jodd是对于Java开发更便捷的开源迷你框架,包含工具类.实用功能的集合,总包体积不到1.7M. Jodd构建于通用场景使开发 ...

  5. java jodd框架介绍及使用示例

    Jodd是一个普通开源Java包.你可以把Jodd想象成Java的"瑞士军刀",不仅小,锋利而且包含许多便利的功能.Jodd 提供的功能有: 提供操作Java bean, 可以从各 ...

  6. 小巧的本地缓存Jodd

    小巧的本地缓存Jodd 说到缓存,大家容易想到memcached和redis,它们大名鼎鼎,但都是远程缓存,需要通过TCP网络访问. 这些缓存服务器本身性能很好,但不管性能再怎么好,也要通过网络访问, ...

  7. JODD与数据页面绑定

      先列举一下我对JODD的基本了解: 1.估计国内大多数知道JODD的JSPer的都是"惊其艳"于SpringSide1: 2.JODD里面其实有很多工具,不过大家最多还是用它来 ...

  8. jodd发送http请求(util)

    1.jodd maven坐标: <!-- https://mvnrepository.com/artifact/org.jodd/jodd-http --> <dependency& ...

  9. 使用 jodd:form tag

    在 SpringSide 里翻到一个好东西: jodd:form " Jodd Form的使用极其简单,因为太简单了,才会名不见经传而被我们选用,让我们罔顾各大Framework的Form ...

最新文章

  1. python 状态码转字典文本_python爬虫 处理521状态码
  2. 如何快速编写并运行Tiny模板语言?
  3. 十大司机如厕友好城市出炉:苏州/杭州/成都位居前三
  4. UI实用|素材APP启动图标设计模板
  5. Spring Boot学习总结(26)—— Spring Boot 容器启动详解
  6. 分析mysql慢查询_mysql慢查询的分析方法_MySQL
  7. 程序猿常识--OJ系统和ACM测试考试大全
  8. 【实用数学手册(第2版)扫描版.pdf】和【免安装Matlab.7.0.绿色破解U盘便携移...】 百度网盘下载地址
  9. 个人网站Timonj(Personal website)
  10. 百度(杭州)创新中心人工智能产业论坛落幕,看AI如何引发行业革命
  11. 笔记本电脑怎么用U盘装系统
  12. 我所理解的闭包是酱紫的
  13. recap 360.html,Autodesk工程扫描数据软件ReCap 360 Pro 2018 R2 Win
  14. 单击Artwork时没有弹窗的问题
  15. 苹果手机php如何解压,在PHP中使用gzcompress;需要能够在iPhone上解压缩
  16. 并行计算综述————第一章 并行计算硬件平台:并行计算机
  17. 使用JQuery删除html页面中的元素
  18. .net开发过程中,错误集锦
  19. vue中的project和inject
  20. python适合女生吗-女生学数据分析好吗?数据分析适不适合女生学?

热门文章

  1. MIR DATABANK工业机器人每周要闻—2019年10月14日
  2. 推荐几款jQuery时间轴插件Timeline
  3. Python中的时间戳具体是什么
  4. 智能车那些事 4 常用电子元件之电容
  5. 由LG 的G2手机浅析国产旗舰机的方向
  6. 动漫培训学费一般多少钱
  7. Ensp用windows回环口连接cloud配置
  8. LibGdx 安装使用
  9. 融合模型权限管理设计方案
  10. github使用ssh方式