正文
详解HttpURLConnection
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
请求响应流程
设置连接参数的方法
-
setAllowUserInteraction
-
setDoInput
-
setDoOutput
-
setIfModifiedSince
-
setUseCaches
-
setDefaultAllowUserInteraction
-
setDefaultUseCaches
设置请求头或响应头
HTTP请求允许一个key带多个用逗号分开的values,但是HttpURLConnection只提供了单个操作的方法:
-
setRequestProperty(key,value)
-
addRequestProperty(key,value)
setRequestProperty和addRequestProperty的区别就是,setRequestProperty会覆盖已经存在的key的所有values,有清零重新赋值的作用。而addRequestProperty则是在原来key的基础上继续添加其他value。
发送URL请求
建立实际连接之后,就是发送请求,把请求参数传到服务器,这就需要使用outputStream把请求参数传给服务器:
-
getOutputStream
获取响应
请求发送成功之后,即可获取响应的状态码,如果成功既可以读取响应中的数据,获取这些数据的方法包括:
-
getContent
-
getHeaderField
-
getInputStream
对于大部分请求来说,getInputStream和getContent是用的最多的。
相应的信息头用以下方法获取:
-
getContentEncoding
-
getContentLength
-
getContentType
-
getDate
-
getExpiration
-
getLastModifed
HttpURLConnection
任何网络连接都需要经过socket才能连接,HttpURLConnection不需要设置socket,所以,HttpURLConnection并不是底层的连接,而是在底层连接上的
一个请求
。这就是为什么HttpURLConneciton只是一个
);
urlCon.setReadTimeout();
设置连接参数的方法
-
setAllowUserInteraction
-
setDoInput
-
setDoOutput
-
setIfModifiedSince
-
setUseCaches
-
setDefaultAllowUserInteraction
-
setDefaultUseCaches
设置请求头或响应头
HTTP请求允许一个key带多个用逗号分开的values,但是HttpURLConnection只提供了单个操作的方法:
- setRequestProperty(key,value)
- addRequestProperty(key,value)
setRequestProperty和addRequestProperty的区别就是,setRequestProperty会覆盖已经存在的key的所有values,有清零重新赋值的作用。而addRequestProperty则是在原来key的基础上继续添加其他value。
发送URL请求
建立实际连接之后,就是发送请求,把请求参数传到服务器,这就需要使用outputStream把请求参数传给服务器:
- getOutputStream
获取响应
请求发送成功之后,即可获取响应的状态码,如果成功既可以读取响应中的数据,获取这些数据的方法包括:
- getContent
- getHeaderField
- getInputStream
对于大部分请求来说,getInputStream和getContent是用的最多的。
相应的信息头用以下方法获取:
- getContentEncoding
- getContentLength
- getContentType
- getDate
- getExpiration
- getLastModifed
HttpURLConnection
任何网络连接都需要经过socket才能连接,HttpURLConnection不需要设置socket,所以,HttpURLConnection并不是底层的连接,而是在底层连接上的 一个请求 。这就是为什么HttpURLConneciton只是一个 );
urlCon.setReadTimeout();