URLConnection 提交请求

本文详细介绍了如何使用URLConnection类进行GET和POST请求,并解析响应。包括设置请求头属性、建立连接、读取和写入数据等关键步骤。

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

URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和URL之间的通信连接。

setDoInput设置是否可以从HttpConnection读入数据,默认为true

setDoOutput设置是否可以向HttpConnection输出数据,默认为false

在用POST方法发送请求时,对Connection对象的一切配置(一堆set函数)必须在connection()函数执行之前完成。

OutputStream的写操作,必须在inputStream的读操作之前。

写入outputStream中的内容并不立即发往服务器,而是存在于内存缓冲区中,待outputStream关闭时,根据输入的内容生成HTTP正文。在调用getinputStream()是,将http请求发送到服务器,返回一个输入流,用于读取服务器的返回信息。

由于http请求在getinputStream时已经发出(包括Http头和正文),因此在getinputStream()函数之后对connection对象进行设置(对http头的信息进行修改)或者写入outputStream(对正文进行修改)都是没有意义的,执行这些操作会导致异常的发生。

 

1.两个按钮,一个发送get请求,一个发送post请求。一个edittext,用来显示结果。

2.get按钮实现发送get请求,这次实现的像是解析网页一样的感觉。

主文件,传入参数,调用方法:

String response = GetPostUtil.sendGet("http://222.18.174.135:8080/abc/a.jsp",null);

实现功能的文件中:

//打开和URL之间的连接

URLConnection conn = realUrl.openConnection();

//设置通用的请求属性

conn.setRequestProperty("accept", "*/*");

conn.setRequestProperty("connection", "Keep-Alive");

conn.setRequestProperty("user=agent", "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1)");

//建立实际的连接

conn.connect();

//获取所有响应头字段

Map<String,List<String>> map = conn.getHeaderFields();

//遍历所有的响应头字段

for(String key:map.keySet())

{

System.out.println(key + "---->" + map.get(key));

}

//定义BufferedReader输入流来读取URL的响应

in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String line;

while((line = in.readLine()) != null)

{

result += "\n" + line;

}

URLConnection <wbr>提交请求

3.post按钮实现传输给服务器一些数据,再获取服务器的返回。这里是一个登陆操作,传递了name和pass

主程序文件中传递参数,调用方法:

String response = GetPostUtil.sendPost("http://222.18.174.135:8080/abc/login.jsp","name=crazyit.org&pass=leegang");

实现功能的文件中:

   //打开和URL之间的连接
   URLConnection conn = realUrl.openConnection();
   //设置通用的请求属性
   conn.setRequestProperty("accept", "**");
   conn.setRequestProperty("connection", "Keep-Alive");
   conn.setRequestProperty("user=agent", "Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.1;SV1)");
   //发送POST请求必须设置的
   conn.setDoInput(true);
   conn.setDoOutput(true);
   //获取URLConnection对相对应的输出流
   out = new PrintWriter(conn.getOutputStream());
   //发送请求参数
   out.print(params);
   //FLUSH输出流的缓冲
   out.flush();
   //定义BufferedReader输入流来读取URL的响应
   in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
   String line;
   while((line = in.readLine()) != null)
   {
    result += "\n" + line;
   }

URLConnection <wbr>提交请求

4.授权啊亲。。。
代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值