java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

/content/4174197.html

通过java.net.URLConnection发送HTTP请求的方法

阅读目录
运用原生Java
Api发送简单的Get请求、Post请求
简单封装
简单测试
如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求。
Java有原生的API可用于发送HTTP请求,即java.net.URL、java.net.URLConnection,这些API很好用、很常用,但不够简便;
所以,也流行有许多Java HTTP请求的framework,如,Apache的HttpClient。
目前项目主要用到Java原生的方式,所以,这里主要介绍此方式。

运用原生Java Api发送简单的Get请求、Post请求

HTTP请求粗分为两种,一种是GET请求,一种是POST请求。(详细的请见:Hypertext
Transfer Protocol -- HTTP/1.1 - Method Definitions)
使用Java发送这两种请求的代码大同小异,只是一些参数设置的不同。步骤如下:
通过统一资源定位器(java.net.URL)获取连接器(java.net.URLConnection)
设置请求的参数
发送请求
以输入流的形式获取返回内容
关闭输入流
简单的Get请求示例如下:
通过java.net.URLConnection发送HTTP请求的方法-飞网
HttpGetRequest
简单的Post请求示例如下:
通过java.net.URLConnection发送HTTP请求的方法-飞网
HttpPostRequest

简单封装

如果项目中有多处地方使用HTTP请求,我们适当对其进行封装,
可以大大减少代码量(不需每次都写一大段原生的请求Source code)
也可以使配置更灵活、方便(全局设置一些项目特有的配置,比如已商榷的time out时间、已确定的Proxy Server,避免以后改动繁琐)
以下简单封装成HttpRequestor,以便使用:
通过java.net.URLConnection发送HTTP请求的方法-飞网
HttpRequestor
写一个调用的测试类:
通过java.net.URLConnection发送HTTP请求的方法-飞网
Call
OK,完成!!

简单测试

以上的请求地址都是http://localhost:8080/OneHttpServer/
这是自己的一个用于测试的Web Application,就一个简单的Servlet和web.xml。毕竟需要测试请求参数是否能正常接收,处理超时的情况。
LoginServlet
通过java.net.URLConnection发送HTTP请求的方法-飞网
LoginServlet
web.xml
通过java.net.URLConnection发送HTTP请求的方法-飞网
web.xml

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。