博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android向Web站点发送GET请求、POST请求
阅读量:6653 次
发布时间:2019-06-25

本文共 3254 字,大约阅读时间需要 10 分钟。

 
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL;import java.net.URLConnection;import java.util.List;import java.util.Map;public class TestGetPost {	/**	 * 向指定URL发送GET方法的请求	 * 	 * @param url	 *            发送请求的URL	 * @param param	 *            请求参数,请求参数应该是name1=value1&name2=value2的形式。	 * @return URL所代表远程资源的响应	 */	public static String sendGet(String url, String param) {		String result = "";		BufferedReader in = null;		try {			String urlName = url + "?" + param;			URL realUrl = new URL(urlName);			// 打开和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
> 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) { esult += "n" + line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } /** * 向指定URL发送POST方法的请求 * * @param url * 发送请求的URL * @param param * 请求参数,请求参数应该是name1=value1&name2=value2的形式。 * @return URL所代表远程资源的响应 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和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.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush 输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += "n" + line; } } catch (Exception e) { System.out.println("发送POST 请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } // 提供主方法,测试发送GET请求和POST请求 public static void main(String args[]) { // 发送GET请求 String s = TestGetPost.sendGet("http://localhost:8888/abc/login.jsp", null); System.out.println(s); // 发送POST请求 String s1 = TestGetPost.sendPost("http://localhost:8888/abc/a.jsp", "user= 李刚&pass=abc"); System.out.println(s1); }}

转载于:https://www.cnblogs.com/android88/archive/2011/10/09/3602714.html

你可能感兴趣的文章
<转>ML 相关算法参考
查看>>
JUNIT -- springMVC的action进行单元测试
查看>>
10个很棒的学习Android 开发的网站
查看>>
SyntaxError: missing ] after element list 火狐问题
查看>>
QML用Qt.labs.settings实现保存用户设置
查看>>
异步查询json传日期格式到前台,变成了时间戳的格式
查看>>
Android长按事件和点击事件问题处理,OnItemLongClickListener和OnItemClickListener冲突问题...
查看>>
python(43):collections模块
查看>>
springMVC拦截器和过滤器总结
查看>>
CDH版本的oozie安装执行bin/oozie-setup.sh prepare-war,没生成oozie.war?
查看>>
perl 中的哈希赋值
查看>>
COCOS2D-X暂时设置竖屏,过一阵子再设置回横屏
查看>>
[Java]线程池
查看>>
Server Tomcat v7.0 Server at libra failed to start
查看>>
Java多线程(八)——join()
查看>>
HDOJ 题目3308 LCIS(线段树,区间查询,区间合并)
查看>>
Linux 设备驱动--- Poll 方法 --- Select【转】
查看>>
基于V4L2的视频驱动开发【转】
查看>>
手动操作导航控制器的子视图控制器的数组
查看>>
Spring 3整合Quartz 2实现手动设置定时任务:新增,修改,删除,暂停和恢复
查看>>