2 changed files with 146 additions and 34 deletions
@ -0,0 +1,126 @@ |
|||||
|
package com.elink.esua.epdc.utils; |
||||
|
|
||||
|
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 HttpRequest { |
||||
|
/** |
||||
|
* 向指定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 urlNameString = url + "?" + param; |
||||
|
URL realUrl = new URL(urlNameString); |
||||
|
// 打开和URL之间的连接
|
||||
|
URLConnection 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(); |
||||
|
// 获取所有响应头字段
|
||||
|
Map<String, List<String>> 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 += 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&name2=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", "*/*"); |
||||
|
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 += 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; |
||||
|
} |
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue