《java发送http的get、post请求===.doc》由会员分享,可在线阅读,更多相关《java发送http的get、post请求===.doc(4页珍藏版)》请在三一文库上搜索。
1、java发送ht tp的get、post请求Ht tp请求类package wzh.;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import .URL;import .URLConnection;import java.util.List;import java.util.Map;public class Request /* * 向指定URL发送GET方法的请求 * * param url * 发送请求
2、的URL * param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) String result = ; BufferedReader in = null; try String urlNameString = url + ? + param; URL realUrl = new URL(urlNameString); / 打开和URL之间的连接 URLConnecti
3、on connection = realUrl.openConnection(); / 设置通用的请求属性 connection.setRequestProperty(accept, */*); connection.setRequestProperty(connection, Keep-Alive); connection.setRequestProperty(user-agent, Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1); / 建立实际的连接 connection.connect(); / 获取所有响应头字段 MapSt
4、ring, List map = connection.getHeaderFields(); / 遍历所有的响应头字段 for (String key : map.keySet() System.out.println(key + - + map.get(key); / 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream(); String line; while (line = in.readLine() != null) result +
5、= line; catch (Exception e) System.out.println(发送GET请求出现异常! + e); e.printStackTrace(); / 使用finally块来关闭输入流 finally try if (in != null) in.close(); catch (Exception e2) e2.printStackTrace(); return result; /* * 向指定 URL 发送POST方法的请求 * * param url * 发送请求的 URL * param param * 请求参数,请求参数应该是 name1=value1&nam
6、e2=value2 的形式。 * return 所代表远程资源的响应结果 */ 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,
7、 */*); 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.p
8、rint(param); / flush输出流的缓冲 out.flush(); / 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream(); String line; while (line = in.readLine() != null) result += line; catch (Exception e) System.out.println(发送 POST 请求出现异常!+e); e.printStackTrace(); /使用finally块来关
9、闭输出流、输入流 finally try if(out!=null) out.close(); if(in!=null) in.close(); catch(IOException ex) ex.printStackTrace(); return result; 调用方法: public static void main(String args) /发送 GET 请求 String s=Request.sendGet(, key=123&v=456); System.out.println(s); /发送 POST 请求 String sr=Request.sendPost(, key=123&v=456); System.out.println(sr);