http://www.cnblogs.com/zhuawang/archive/2012/12/08/2809380.html

get和post方法

  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.net.URL;
  6. import java.net.URLConnection;
  7. import java.util.List;
  8. import java.util.Map;
  9.  
  10. public class HttpRequest {
  11. /**
  12. * 向指定URL发送GET方法的请求
  13. *
  14. * @param url
  15. * 发送请求的URL
  16. * @param param
  17. * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
  18. * @return URL 所代表远程资源的响应结果
  19. */
  20. public static String sendGet(String url, String param) {
  21. String result = "";
  22. BufferedReader in = null;
  23. try {
  24. String urlNameString = url + "?" + param;
  25. URL realUrl = new URL(urlNameString);
  26. // 打开和URL之间的连接
  27. URLConnection connection = realUrl.openConnection();
  28. // 设置通用的请求属性
  29. connection.setRequestProperty("accept", "*/*");
  30. connection.setRequestProperty("connection", "Keep-Alive");
  31. connection.setRequestProperty("user-agent",
  32. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
  33. // 建立实际的连接
  34. connection.connect();
  35. // 获取所有响应头字段
  36. Map<String, List<String>> map = connection.getHeaderFields();
  37. // 遍历所有的响应头字段
  38. for (String key : map.keySet()) {
  39. System.out.println(key + "--->" + map.get(key));
  40. }
  41. // 定义 BufferedReader输入流来读取URL的响应
  42. in = new BufferedReader(new InputStreamReader(
  43. connection.getInputStream()));
  44. String line;
  45. while ((line = in.readLine()) != null) {
  46. result += line;
  47. }
  48. } catch (Exception e) {
  49. System.out.println("发送GET请求出现异常!" + e);
  50. e.printStackTrace();
  51. }
  52. // 使用finally块来关闭输入流
  53. finally {
  54. try {
  55. if (in != null) {
  56. in.close();
  57. }
  58. } catch (Exception e2) {
  59. e2.printStackTrace();
  60. }
  61. }
  62. return result;
  63. }
  64.  
  65. /**
  66. * 向指定 URL 发送POST方法的请求
  67. *
  68. * @param url
  69. * 发送请求的 URL
  70. * @param param
  71. * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
  72. * @return 所代表远程资源的响应结果
  73. */
  74. public static String sendPost(String url, String param) {
  75. PrintWriter out = null;
  76. BufferedReader in = null;
  77. String result = "";
  78. try {
  79. URL realUrl = new URL(url);
  80. // 打开和URL之间的连接
  81. URLConnection conn = realUrl.openConnection();
  82. // 设置通用的请求属性
  83. conn.setRequestProperty("accept", "*/*");
  84. conn.setRequestProperty("connection", "Keep-Alive");
  85. conn.setRequestProperty("user-agent",
  86. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
  87. // 发送POST请求必须设置如下两行
  88. conn.setDoOutput(true);
  89. conn.setDoInput(true);
  90. // 获取URLConnection对象对应的输出流
  91. out = new PrintWriter(conn.getOutputStream());
  92. // 发送请求参数
  93. out.print(param);
  94. // flush输出流的缓冲
  95. out.flush();
  96. // 定义BufferedReader输入流来读取URL的响应
  97. in = new BufferedReader(
  98. new InputStreamReader(conn.getInputStream()));
  99. String line;
  100. while ((line = in.readLine()) != null) {
  101. result += line;
  102. }
  103. } catch (Exception e) {
  104. System.out.println("发送 POST 请求出现异常!"+e);
  105. e.printStackTrace();
  106. }
  107. //使用finally块来关闭输出流、输入流
  108. finally{
  109. try{
  110. if(out!=null){
  111. out.close();
  112. }
  113. if(in!=null){
  114. in.close();
  115. }
  116. }
  117. catch(IOException ex){
  118. ex.printStackTrace();
  119. }
  120. }
  121. return result;
  122. }
  123. }
  124.  
  125. 调用
  1. public static void main(String[] args) {
  2. //发送 GET 请求
  3. String s=HttpRequest.sendGet("http://localhost:6144/Home/RequestString", "key=123&v=456");
  4. System.out.println(s);
  5.  
  6. //发送 POST 请求
  7. String sr=HttpRequest.sendPost("http://localhost:6144/Home/RequestPostString", "key=123&v=456");
  8. System.out.println(sr);
  9. }
  10.  
  11. 2post方法
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.OutputStream;
  5. import java.io.OutputStreamWriter;
  6. import java.net.HttpURLConnection;
  7. import java.net.URL;
  8.  
  9. public class Test {
  10. public static void main(String[] args) throws IOException {
  11. String urlStr =
  12. "http://translate.googleapis.com/translate_a/t?" +
  13. "anno=3&client=te&format=html&v=1.0&logld=v10";
  14. URL url = new URL(urlStr);
  15. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  16. conn.setDoOutput(true); // 可以发送数据
  17. conn.setDoInput(true); // 可以接收数据
  18. conn.setRequestMethod("POST"); // POST方法
  19. // 必须注意此处需要设置UserAgent,否则google会返回403
  20. conn.setRequestProperty
  21. ("User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
  22. conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
  23. conn.connect();
  24. // 写入的POST数据
  25. OutputStreamWriter osw = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
  26. osw.write("q=中国&sl=auto&tl=en&tc=1");
  27. osw.flush();
  28. osw.close();
  29. // 读取响应数据
  30. BufferedReader in = new BufferedReader(
  31. new InputStreamReader(conn.getInputStream()));
  32. String s;
  33. while ((s = in.readLine()) != null)
  34. System.out.println(s);
  35. }
  36. }

Java进行post和get传参数的更多相关文章

  1. Java中构造函数传参数在基本数据类型和引用类型之间的区别

    Java中构造函数传参数在基本数据类型和引用类型的区别 如果构造函数中穿的参数为基本数据类型,如果在函数中没有返回值,在调用的时候不会发生改变:而如果是引用类型,改变的是存储的位置,所有不管有没有返回 ...

  2. web service上传参数代码实例

    web service上传参数代码实例 这次做的项目用到webservice比较多,最开始在网上看的参考dome,发现都不行,后来发现安卓4.0以后有很大的不同,在做传参时,有些东西需要注意: 第一, ...

  3. HTTP请求中的Body构建——.NET客户端调用JAVA服务进行文件上传

    PS:今日的第二篇,当日事还要当日毕:)   http的POST请求发送的内容在Body中,因此有时候会有我们自己构建body的情况. JAVA使用http—post上传file时,spring框架中 ...

  4. Java中实现文件上传下载的三种解决方案

    第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null ...

  5. SPRING IN ACTION 第4版笔记-第五章BUILDING SPRING WEB APPLICATIONS-005-以path parameters的形式给action传参数(value=“{}”、@PathVariable)

    一 1.以path parameters的形式给action传参数 @Test public void testSpittle() throws Exception { Spittle expecte ...

  6. java 函数形参传值和传引用的区别

    java方法中传值和传引用的问题是个基本问题,但是也有很多人一时弄不清. (一)基本数据类型:传值,方法不会改变实参的值. public class TestFun { public static v ...

  7. C# 程序之间传参数,Args 接收参数的处理

    备忘,或者留给暂未接触但需要了解的人. C#在一个进程内传参数方法那是相当多,但是涉及到程序之间传参数就不是那么方便了(当然socket,内存共享等方式属于另一类,此处不讨论),我们的C或者C#,亦或 ...

  8. java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例

    java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例HttpClient 测试类,提供get post方法实例 package com.zdz.httpclient; i ...

  9. NameValuePair方式传参数

    今天工作中联调外部的一个接口用post方式传输,我按照文档封装参数成Jason字符串传入,但是对方一直接受参数为空,折腾了半天也没找到问题.很苦恼,检查代码都没有错误,可是为什么对方接受参数为空呢?然 ...

随机推荐

  1. C# 测试服务器连接 Ping

    .aspx页: 一个textbox(txtIP)输入服务器地址,一个button(Btn_ok)点击测试,一个listbox(lboxContent)显示测试信息 .aspx.cs页: using S ...

  2. http之Session&Cookie

    百度了一波session与Cookie,我发现这东西远比我想象中更复杂(可能是因为我不明白底层的运行原理).网上也是一堆的关于Session与Cookie区别/联系的文章,然而,我看完了还是一脸懵逼的 ...

  3. 移动端的传统click事件延迟和点透现象

    一.场景描述: 1.A/B两个层上下z轴重叠. 2.上层的A点击后消失或移开.(这一点很重要) 3.B元素本身有默认click事件(如a标签) 或 B绑定了click事件. 在以上情况下,点击A/B重 ...

  4. angularJs之http后台访问数据

    AngularJS  XMLHttpRequest $http  是AngularJS中的一个核心服务,用于读取远程服务器的数据. 读取JSON 文件 以下是存储在web服务器上的JSON 文件: h ...

  5. 日志监控系统中,大批量查询mysql方案

    最近开发遇到一个问题:需要查询一个大时间段内的数据,分1000个小段,即为1000个点.X轴是时间,Y轴是该小时间段内统计后数据.注意:数据返回是一个list,其中每个对象返回值都是该小时间段内数据统 ...

  6. 在Linux下禁用IPv6的方法小结

    在Linux下禁用IPv6的方法小结--http://www.jb51.net/LINUXjishu/335724.html 这篇文章主要介绍了在Linux下禁用IPv6的方法小结,禁用IPv6的操作 ...

  7. Java class,Object,Class的区别

    代码: http://www.cnblogs.com/hongdada/p/6060487.html package com.company; public class Main { public s ...

  8. yii框架的安装

    在安装YII2.0首先我们需要下载一个composer,何为composer,简单解释为PHP的组件工具, Composer是PHP中用来管理依赖(dependency)关系的工具,你可以在自己的项目 ...

  9. E-Business Suite 12.2 startCD 50 Install Fails with Fatal Error: TXK Install Service oracle.apps.fnd.txk.config.ProcessStateException: OUI process failed Cannot install Web Tier Utilities

    在rhel7.2上,使用startCD 50安装ebs r12.2的使用,安装到38%的时候就报错,遇到了和以下文章类似的问题: http://www.cnblogs.com/abclife/p/49 ...

  10. 百度地图坐标纠偏和转换工具和DLL

    百度一直以来都是个即想装出一副拥抱互联网开放的样子,又为了短期商业利益封闭自己的公司,模仿谷歌地图,开放了自己的百度地图 API,为了防止别人盗用其数据和用户自由迁移,地图相比于火星坐标,又更加封闭, ...