HttpUrlConnection与HttpClient的认识(一)-HttpUrlConnection的使用
来源:互联网 发布:帝国cms空间模板 编辑:程序博客网 时间:2024/06/06 03:20
转载自:http://blog.csdn.net/u010248330/article/details/69230206
这章先介绍HttpUrlConnection的用法,HttpUrlConnction类位于Java.NET包下,里面的一些参数(属性)如果不做实验,有的还真不太明白是什么意思。所以这里通过做实验,理解这些参数的含义。
这些参数属性在HttpUrlConnction中通过set*方法去设置。
设置连接参数的常用的方法:
setDoInput()setDoOutput()setUseCaches()setRequestMethod()
设置请求头的方法:
setRequestProperty(key,value)
发送URL请求的方法
getOutputStream()
获取服务器的响应的方法
getContent()getInputStream()
获取服务器响应的信息头:
getContentEncoding()getContentLength()getContentType()
1.简单的Http请求
先简单来个使用HttpUrlConnection发送网络请求的事例吧,在例子中我们在理解这些参数的意思,我在本机的tomcat下的webapps目录下新建了一个index.jsp,用作我们访问的网络资源,启动tomat服务。
index.jsp代码:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
我们知道,发送http请求有两种方式,一种是GET方式,一种是POST方式,不设置的话,默认请求方式为GET方法。
1)GET方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
实验结果:
利用HttpUrlConnection的getInputStream()方法,可以获取我们请求url的响应内容。
在代码中设置参数(属性),这个参数设置是否允许读取响应的内容。
httpURLConnection.setDoInput(true);
如果设置为false,下面的httpUrlConnection.getInputStrem就会报错。
下面我们介绍如果设置POST方法,这样就能认识一些新的参数(属性):
2)POST方式
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
实验结果:
利用HttpURLConnection的getOutputStream()方法获取输出流,可以像url发送请求,在例子中我们发送了数据name=”test”,jsp获取了这个数据,并展示。
在代码中有一行
httpURLConnection.setDoOutput(true);
设置是否可以向服务器发送数据请求,这个默认是false,如果需要向服务器发送数据设置为true,在POST方式中,outputStream把请求参数传给服务器。
如果有数据向服务器发送,而这个参数设置的是false,就会报如下错误。
2.请求头信息和响应头信息
我们用浏览器访问一下http://localhost:8080/test/index.jsp这个链接,看一下默认的响应头信息和请求头信息。
下面我们可以设置向服务器发送请求的头信息,以及打印服务器响应的头信息。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
实验结果:
text/html;charset=utf-8null287application/x-www-form-urlencoded
还有几个属性简单说明一下:
setUseCaches():是否使用缓存,如果是POST方式,则需要设置为false,
setConnectTimeout():设置连接服务器超时时间(单位:毫秒)
setReadTimeout():设置从服务器读取数据超时时间(单位:毫秒)
- HttpUrlConnection与HttpClient的认识(一)-HttpUrlConnection的使用
- HttpUrlConnection与HttpClient的认识(一)-HttpUrlConnection的使用
- HttpUrlConnection与HttpClient的认识(三)-HttpClient的使用
- HttpUrlConnection与HttpClient的认识(三)-HttpClient的使用
- HttpUrlConnection与HttpClient的认识(四) -HttpClient的封装
- HttpUrlConnection与HttpClient的认识(四) -HttpClient的封装
- httpurlconnection与httpclient的使用
- 网络请求HttpURLConnection与HttpClient的使用
- HttpUrlConnection与HttpClient的认识(七) -HttpClient的线程安全问题
- HttpUrlConnection与HttpClient的认识(七) -HttpClient的线程安全问题
- HttpURLConnection与HttpClient的不同
- HTTPClient与HttpURLConnection的区别
- HttpURLConnection和HttpClient的使用
- HttpClient 和 HttpURLConnection 的使用
- HttpUrlConnection与HttpClient的认识(二)-请求头信息的问题
- HttpUrlConnection与HttpClient的认识(二)-请求头信息的问题
- HttpUrlConnection与HttpClient的认识(六) -实际应用之刷网络流量
- HttpUrlConnection与HttpClient的认识(六) -实际应用之刷网络流量
- 面试总结
- RxJava2学习笔记
- 七大表现警惕抑郁症发生
- Java面试题(一)
- eclipse项目导入idea
- HttpUrlConnection与HttpClient的认识(一)-HttpUrlConnection的使用
- ubuntu14.04 64位配置arm-linux-gcc-4.5.1
- Machine Learning In Action:KNN(Python)
- 面试题21:包含min函数的栈
- 基于presto分布式查询mongodb的使用中遇到的问题
- ios中签名详解
- 单片机
- CSS in JS 简介
- 鹿晗原名叫“刘壮实”?中学合影都被翻了出来