1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.io.UnsupportedEncodingException;
  6. import java.net.URL;
  7. import java.net.URLConnection;
  8. import java.util.Iterator;
  9. import java.util.List;
  10. import java.util.Map;
  11. import java.util.Map.Entry;
  12.  
  13. public class HttpSender {
  14.  
  15. public static void main(String[] args) {
  16. }
  17.  
  18. /**
  19. * 向指定URL发送GET方法的请求
  20. */
  21. public static String sendGet(String url, String param) throws UnsupportedEncodingException, IOException {
  22. return sendGet(url, param, null);
  23. }
  24. public static String sendGet(String url, String param, Map<String, String> header) throws UnsupportedEncodingException, IOException {
  25. String result = "";
  26. BufferedReader in = null;
  27. String urlNameString = url + "?" + param;
  28. URL realUrl = new URL(urlNameString);
  29. // 打开和URL之间的连接
  30. URLConnection connection = realUrl.openConnection();
  31. //设置超时时间
  32. connection.setConnectTimeout();
  33. connection.setReadTimeout();
  34. // 设置通用的请求属性
  35. if (header!=null) {
  36. Iterator<Entry<String, String>> it =header.entrySet().iterator();
  37. while(it.hasNext()){
  38. Entry<String, String> entry = it.next();
  39. System.out.println(entry.getKey()+":::"+entry.getValue());
  40. connection.setRequestProperty(entry.getKey(), entry.getValue());
  41. }
  42. }
  43. connection.setRequestProperty("accept", "*/*");
  44. connection.setRequestProperty("connection", "Keep-Alive");
  45. connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
  46. // 建立实际的连接
  47. connection.connect();
  48. // 获取所有响应头字段
  49. Map<String, List<String>> map = connection.getHeaderFields();
  50. // 遍历所有的响应头字段
  51. for (String key : map.keySet()) {
  52. System.out.println(key + "--->" + map.get(key));
  53. }
  54. // 定义 BufferedReader输入流来读取URL的响应,设置utf8防止中文乱码
  55. in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8"));
  56. String line;
  57. while ((line = in.readLine()) != null) {
  58. result += line;
  59. }
  60. if (in != null) {
  61. in.close();
  62. }
  63. return result;
  64. }
  65.  
  66. /**
  67. * 向指定 URL 发送POST方法的请求
  68. */
  69. public static String sendPost(String url, String param) throws UnsupportedEncodingException, IOException {
  70. return sendPost(url, param, null);
  71. }
  72.  
  73. public static String sendPost(String url, String param, Map<String, String> header) throws UnsupportedEncodingException, IOException {
  74. PrintWriter out = null;
  75. BufferedReader in = null;
  76. String result = "";
  77. URL realUrl = new URL(url);
  78. // 打开和URL之间的连接
  79. URLConnection conn = realUrl.openConnection();
  80. //设置超时时间
  81. conn.setConnectTimeout();
  82. conn.setReadTimeout();
  83. // 设置通用的请求属性
  84. if (header!=null) {
  85. for (Entry<String, String> entry : header.entrySet()) {
  86. conn.setRequestProperty(entry.getKey(), entry.getValue());
  87. }
  88. }
  89. conn.setRequestProperty("accept", "*/*");
  90. conn.setRequestProperty("connection", "Keep-Alive");
  91. conn.setRequestProperty("user-agent",
  92. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
  93. // 发送POST请求必须设置如下两行
  94. conn.setDoOutput(true);
  95. conn.setDoInput(true);
  96. // 获取URLConnection对象对应的输出流
  97. out = new PrintWriter(conn.getOutputStream());
  98. // 发送请求参数
  99. out.print(param);
  100. // flush输出流的缓冲
  101. out.flush();
  102. // 定义BufferedReader输入流来读取URL的响应
  103. in = new BufferedReader(
  104. new InputStreamReader(conn.getInputStream(), "utf8"));
  105. String line;
  106. while ((line = in.readLine()) != null) {
  107. result += line;
  108. }
  109. if(out!=null){
  110. out.close();
  111. }
  112. if(in!=null){
  113. in.close();
  114. }
  115. return result;
  116. }
  117. }

java利用URL发送get和post请求的更多相关文章

  1. php 利用socket发送GET,POST请求

    作为php程序员一定会接触http协议,也只有深入了解http协议,编程水平才会更进一步.最近我一直在学习php的关于http的编程,许多东西恍然大悟,受益匪浅.希望分享给大家.本文需要有一定http ...

  2. wemall doraemon中Android app商城系统向指定URL发送GET方法的请求代码

    URL的openConnection()方法将返回一个URLConnection对象,该对象表示应用程序和 URL 之间的通信链接.程序可以通过URLConnection实例向该URL发送请求.读取U ...

  3. HttpSenderUtil向指定 URL 发送POST方法的请求

    package com.founder.ec.common.utils; import java.io.BufferedReader; import java.io.IOException; impo ...

  4. 向指定URL发送GET和POST请求

    package com.sinosoft.ap.wj.common.util; import java.io.BufferedReader;import java.io.IOException;imp ...

  5. java通过java.net.URL发送http请求调用接口

    一般在*.html,*.jsp页面中我们通过使用ajax调用接口,这个是我们通常用的.对于这些接口,大都是本公司写的接口供自己调用,所以直接用ajax就可以.但是,如果是多家公司共同开发一个东西,一个 ...

  6. Java 利用HttpURLConnection发送http请求

    写了一个简单的 Http 请求的Class,实现了 get, post ,postfile package com.asus.uts.util; import org.json.JSONExcepti ...

  7. Hbuilder MUI里面使用java.net.URL发送网络请求,操作cookie

    1. 引入所需网络请求类: var URL = plus.android.importClass("java.net.URL"); var URLConnection = plus ...

  8. Java实现HttpClient发送GET、POST请求(https、http)

    1.引入相关依赖包 jar包下载:httpcore4.5.5.jar    fastjson-1.2.47.jar maven: <dependency> <groupId>o ...

  9. java利用url实现网页内容的抓取

    闲来无事,刚学会把git部署到远程服务器,没事做,所以简单做了一个抓取网页信息的小工具,里面的一些数值如果设成参数的话可能扩展性能会更好!希望这是一个好的开始把,也让我对字符串的读取掌握的更加熟练了, ...

随机推荐

  1. web 全栈 学习 2 一个好的页面是如何炼成的

    第一章:Web页面内容的构成2.Web内容的分工一个Web页面可能的构成(视觉上看):①文字.链接.标题②交互入口(表单元素)③图片(哪些类型)④动画 Flash动画 HTML5 CSS3 动画⑤音视 ...

  2. 网页布局的应用(float或absolute)

    一个浮动(左浮动或右浮动) 垂直环绕布局(float.clear) 左右两列布局(float.absolute) 三栏网页宽度自适应布局(float.absolute) 注意:网页设计中应该尽量避免使 ...

  3. ActiveMQ 了解

    Active MQ 是JMS的一个具体实现,所以首先要对JMS有所了解. 1.       JMS: 定义:Java消息服务(Java Message Service),是Sun是提出来的为J2EE提 ...

  4. Sqooop- 使用Sqoop进行数据的导入导出

    Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出. 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境 ...

  5. leetcode 23. Merge k Sorted Lists(堆||分治法)

    Merge k sorted linked lists and return it as one sorted list. 题意:把k个已经排好序的链表整合到一个链表中,并且这个链表是排了序的. 题解 ...

  6. 用rem适配移动端

    常见方式: 1. 固定宽度(320)做法:这样前端倒是爽了,可是大页面两边有留白,小页面图标文字又会缩的很小,用户体验极其不好. 2. 流式布局:其实就是用%,这样宽度倒还差不多,高度怎么搞?所以这种 ...

  7. javacv实现实时视频截图和录像服务easyCV

    本项目维护于github:https://github.com/eguid/easyCV 1.介绍 本项目基于javaCV1.4.x. 其中实现了 (1)实时视频截图服务(支持rtsp/rtmp/ht ...

  8. Godot-3D教程-02.3D性能和局限性

    介绍 Introduction Godot遵循表现与性能平衡信条.在这个表现的世界中,它们总是有许多约定俗成的东西,主要是在用执行速度换取可用性与扩展性方面.下面是一些实际的例子: 高效地渲染对象是比 ...

  9. CF 1042A Benches——二分答案(水题)

    题目:http://codeforces.com/problemset/problem/1042/A #include<iostream> #include<cstdio> # ...

  10. 洛谷P1220关路灯——区间DP

    题目:https://www.luogu.org/problemnew/show/P1220 区间DP. 代码如下: #include<iostream> #include<cstd ...