1. public class TestGetPost {
  2. /**
  3. * 向指定URL发送GET方法的请求
  4. * @param url 发送请求的URL
  5. * @param param 请求参数,请求参数应该是name1=value1&name2=value2的形式。
  6. * @return URL所代表远程资源的响应
  7. */
  8. public static String sendGet(String url, String param) {
  9. String result = "";
  10. BufferedReader in = null;
  11. try {
  12. String urlName = url + "?" + param;
  13. URL realUrl = new URL(urlName);
  14. //打开和URL之间的连接
  15. URLConnection conn = realUrl.openConnection();
  16. //设置通用的请求属性
  17. conn.setRequestProperty("accept", "*/*");
  18. conn.setRequestProperty("connection", "Keep-Alive");
  19. conn.setRequestProperty("user-agent",
  20. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
  21. //建立实际的连接
  22. conn.connect();
  23. //获取所有响应头字段
  24. Map < String, List < String >> map = conn.getHeaderFields();
  25. //遍历所有的响应头字段
  26. for (String key: map.keySet()) {
  27. System.out.println(key + "--->" + map.get(key));
  28. }
  29. //定义BufferedReader输入流来读取URL的响应
  30. in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
  31. String line;
  32. while ((line = in .readLine()) != null) {
  33. result += "/n" + line;
  34. }
  35. } catch (Exception e) {
  36. System.out.println("发送GET请求出现异常!" + e);
  37. e.printStackTrace();
  38. }
  39. //使用finally块来关闭输入流
  40. finally {
  41. try {
  42. if ( in != null) { in .close();
  43. }
  44. } catch (IOException ex) {
  45. ex.printStackTrace();
  46. }
  47. }
  48. return result;
  49. }
  50. /**
  51. * 向指定URL发送POST方法的请求
  52. * @param url 发送请求的URL
  53. * @param param 请求参数,请求参数应该是name1=value1&name2=value2的形式。
  54. * @return URL所代表远程资源的响应
  55. */
  56. public static String sendPost(String url, String param) {
  57. PrintWriter out = null;
  58. BufferedReader in = null;
  59. String result = "";
  60. try {
  61. URL realUrl = new URL(url);
  62. //打开和URL之间的连接
  63. URLConnection conn = realUrl.openConnection();
  64. //设置通用的请求属性
  65. conn.setRequestProperty("accept", "*/*");
  66. conn.setRequestProperty("connection", "Keep-Alive");
  67. conn.setRequestProperty("user-agent",
  68. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");
  69. //发送POST请求必须设置如下两行
  70. conn.setDoOutput(true);
  71. conn.setDoInput(true);
  72. //获取URLConnection对象对应的输出流
  73. out = new PrintWriter(conn.getOutputStream());
  74. //发送请求参数
  75. out.print(param);
  76. //flush输出流的缓冲
  77. out.flush();
  78. //定义BufferedReader输入流来读取URL的响应
  79. in = new BufferedReader(
  80. new InputStreamReader(conn.getInputStream()));
  81. String line;
  82. while ((line = in .readLine()) != null) {
  83. result += "/n" + line;
  84. }
  85. } catch (Exception e) {
  86. System.out.println("发送POST请求出现异常!" + e);
  87. e.printStackTrace();
  88. }
  89. //使用finally块来关闭输出流、输入流
  90. finally {
  91. try {
  92. if (out != null) {
  93. out.close();
  94. }
  95. if ( in != null) { in .close();
  96. }
  97. } catch (IOException ex) {
  98. ex.printStackTrace();
  99. }
  100. }
  101. return result;
  102. }
  103. //提供主方法,测试发送GET请求和POST请求
  104. public static void main(String args[]) {
  105. //发送GET请求
  106. String s = TestGetPost.sendGet("http://localhost:8888/abc/login.jsp", null);
  107. System.out.println(s);
  108. //发送POST请求
  109. String s1 = TestGetPost.sendPost(http: //localhost:8888/abc/a.jsp ,
  110. "user=李刚&pass=abc");
  111. System.out.println(s1);
  112. }
  113. }

JAVA通过HTTP访问:Post+Get方式(转)的更多相关文章

  1. Java对象的访问方式

    之前写过一篇随笔 https://www.cnblogs.com/qianjinyan/p/10352749.html 现在看看,貌似不是很准确,方法区和栈应当区分开来,两者有很大的区别 看下面的一个 ...

  2. ajax跨域访问 java controller 和 cxf(webservice) 配置方式(CORS)

    1. controller跨域访问,配置方式 重点在这里: <mvc:cors> <mvc:mapping path="/*" allowed-origins=& ...

  3. JAVA解析XML的四种方式

    java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...

  4. java开发webservice的几种方式(转载)

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2方式 Axis是apache下一个开源的webservice开发 ...

  5. java开发webservice的几种方式

    webservice的应用已经越来越广泛了,下面介绍几种在Java体系中开发webservice的方式,相当于做个记录. 1.Axis2 Axis是apache下一个开源的webservice开发组件 ...

  6. java解析xml的几种方式

    java解析xml的几种方式 DOM DOM的全称是Document ObjectModel,也即文档对象模型.在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称D ...

  7. Java对象的访问定位

    java对象在访问的时候,我们需要通过java虚拟机栈的reference类型的数据去操作具体的对象.由于reference类型在java虚拟机规范中只规定了一个对象的引用,并没有定义这个这个引用应该 ...

  8. java基础(八)-----深入解析java四种访问权限

    Java中的访问权限理解起来不难,但完全掌握却不容易,特别是4种访问权限并不是任何时候都可以使用.下面整理一下,在什么情况下,有哪些访问权限可以允许选择. 一.访问权限简介 访问权限控制: 指的是本类 ...

  9. Java调用第三方http接口的方式

    1. 概述 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适.很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信.天气等). 在J ...

  10. Java 定时任务的几种实现方式

    JAVA实现定时任务的几种方式 @(JAVA)[spring|quartz|定时器]  近期项目开发中需要动态的添加定时任务,比如在某个活动结束时,自动生成获奖名单,导出excel等,此类任务由于活动 ...

随机推荐

  1. python基础教程之抽象

    很早知道python,但没有坚持学习.最近心血来潮,但能弥补这个遗憾. 对象几个重要概念: 多态:可以对不同类的对象使用同样的操作: 封装:对外部世界隐藏对象的工作细节: 继承:以普通的类为基础建立专 ...

  2. 如何解决虚拟机克隆导致"Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'."

    在VMware的虚拟机中克隆CentOS,在重启网卡的时候报错: Bringing up interface eth0:  Error: No suitable device found: no de ...

  3. 【python】传入函数

    def add(x, y, f): return f(x) + f(y) 当我们调用add(-5, 6, abs)时,参数x,y和f分别接收-5,6和abs,根据函数定义,我们可以推导计算过程为: x ...

  4. KO+bootstrap 模态窗全选绑定

    HTML <div id="modalAreaID01"> <button type="button" class="btn btn ...

  5. CSS布局概述

    1.HTML5文档类型 由于Bootstrap使用了HTML5特定的HTML元素和CSS属性,所以使用Bootstrap的时候,所有的HTML文件都需要在其顶部引用HTML5的DOCTYPE属性,如下 ...

  6. yum install nginx

    先安装nginx的yum源 http://nginx.org/en/linux_packages.html#stable 找到链接,安装: rpm -ivh http://nginx.org/pack ...

  7. tar打包排除某个目录

    tar zcvf fd.tar.gz * --exclude=file1 --exclude=dir1 注意: 1.--exclude=file1 而不是 --exclude file1 2.要排除一 ...

  8. sql server中的 SET NOCOUNT ON 的含义

    每次我们在使用查询分析器调试SQL语句的时候,通常会看到一些信息,提醒我们当前有多少个行受到了影响,这是些什么信息?在我们调用的时候这些信息有用吗?是否可以关闭呢? 答案是这些信息在我们的客户端的应用 ...

  9. ORACLE 创建作业JOB例子

    --1.plsql中学习job   --学习job  --建表  create table test_job(para_date date);  commit;    insert into test ...

  10. 【原】安装mongo的php插件

    http://pecl.php.net/package/mongo https://github.com/mongodb/mongo-php-driver/tarball/master 1. 安装mo ...