一.前言
看完上一节中浏览器访问网页的行为分析之后,你是不是很好奇在Java程序中要怎么去访问一个网页呢?先来回想一下浏览器访问网页的最基本流程:
封装请求->发送请求->接收响应->解析并作出动作
那么在Java中,我们要完成这套动作,用到的就是HttpURLConnection这个类,他可以帮助我们去完成一个请求网页的动作
二.如何发送一个请求
HttpUrlConnection实例
HttpUrlConnection是Java自带的类,所以并不需要导入第三方的jar包,而在通常情况下,获取HttpUrlConnection实例的方法是通过一个URL来打开一个连接从而获取实例,如下:
HttpURLConnection conn = null;
try {
URL realUrl = new URL("www.163.com");
conn = (HttpURLConnection) realUrl.openConnection();
}catch (Exception e) {
//Url出错
}
这里值得注意的是,这样仅仅是打开一个连接而已,此时并未发送请求,接下来要做的,是设置HttpUrlConnection的参数:
//设置post方法
conn.setRequestMethod("POST");
//不使用缓存
conn.setUseCaches(false);
// 发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
//读取超时时间
conn.setReadTimeout(8000);
//连接超时时间
conn.setConnectTimeout(8000);
//这一句很重要,设置不要302自动跳转,后面会讲解到