Android中HttpURLConnection的基础

本文详细介绍了HttpURLConnection的使用方法,包括GET和POST请求的区别及其具体实现步骤。GET请求适用于获取静态页面或传递简单参数,而POST请求则用于发送较复杂的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HttpURLConnection介绍:
HttpURLConnection是URLConnection的子类,所以同样能为URL指定的网站发送Get或Post请求。另外,该类增加了Http协议,所以功能更完善。并且它在URLConnection的基础上增加了一些更实用的方法:
(1)int getResponseCode(); //获得服务器的响应代码
(2)String getResponseMessage(); //获取服务器的响应消息
(3)String getRequestMethod(); //获取发送请示的方法
(4)void setRequestMethod(String method); //设置发送请求的方法
使得访问Http服务器时,使用HttpURLConnection比使用URLConnection方便的多。
在HttpURLConnection中,请求的类别分为二类,GET和POST请求。两者的区别在于:
(1)get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet;
(2)post与get的不同之处在于post的参数不是放在URL字串里面,而是放在输出流中。
get和post访问的步骤如下:
GET方式请求:
1.创建URL对象,URL中要可包含请求参数
URL url = new URL(“http://服务器IP地址:端口号/项目名/test.do?name=”范杰”&age=18);
2.创建HttpURLConnection对象,打开与URL之间的连接
HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection();
3.设置请求方式为GET
conn.setRequestMethod(“GET”);
4.得到输入流,通过输入流得到服务器的响应数据
InputStream in = conn.getInputStream();
Get请求示例代码:
Get_01
Get_02
POST方式请求:
1.创建URL对象,URL中不带参数
URL url = new URL(“http://服务器端IP地址:端口号/项目名/test.do”);
2.创建HttpURLConnection对象,打开与URL之间的连接
HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection();
3.设置请求方式为POST
conn.setRequestMethod(“POST”);
4.发送POST请求必须设置如下两行:
conn.setDoOutput(true);
conn.setDoInput(true);
5.获得URLConnection对象的输出流
PrintWriter out = new PrintWriter(conn.getOutputStream()) ;
6.通过输出流,发送请求参数
out.print(“name=fanjie&age=18”);
out.flush();
7.获得数据输入流,然后可以通过输入流得到相应数据了
InputStream in = conn.getInputStream();
Post请求示例代码:
Post_01
Post_02
注意:
1.子线程中不能修改界面,只能在主线程中修改界面。另外,一个线程对象只能开一次子线程。
2.在Android4.0后所有网络方面的操作都不能再使用主线程,而变成了在获取网页响应字符串时本文代码使用了Thread,在下载图片时使用了AsyncTask,可以对比其使用的异同。很明显,AsyncTask更加方便。可以在onPreExecute和onPostExecute方法里很方便的做主线程UI以前做的事。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

george0318

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值