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;
}
3.post按钮实现传输给服务器一些数据,再获取服务器的返回。这里是一个登陆操作,传递了name和pass
主程序文件中传递参数,调用方法:
String response = GetPostUtil.sendPost("http://222.18.174.135:8080/abc/login.jsp","name=crazyit.org&pass=leegang");
实现功能的文件中:
4.授权啊亲。。。
代码