package commond;
import java.awt.*;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
public class HttpClient {
/**
* 向指定的URL发送GET请求
* @param url 请求的url
* @param param 请求的参数 拼接在url后面,应该是&key=value的格式
* @param content_type 数据的格式
* @return 所代表远程资源的响应结果
*/
public static String sendGet(String url, String param, String content_type) {
BufferedReader _in = null;
String result = "";
try {
String _url = url + param;
URL _realUrl = new URL(_url);
//打开url连接
URLConnection _urlConnection = _realUrl.openConnection();
// 设置通用的请求属性
_urlConnection.setRequestProperty("accept", "*/*");
_urlConnection.setRequestProperty("connection", "Keep-Alive");
_urlConnection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
_urlConnection.setRequestProperty("Content-Type", content_type);
//建立实际的连接
_urlConnection.connect();
//获取所有的响应头字段
Map<String, List<String>> _headerFields = _urlConnection.getHeaderFields();
//遍历所有的响应头字段
for(String key : _headerFields.keySet()){
System.out.println(key + "------>" + _headerFields.get(key));
}
//获取响应结果
_in = new BufferedReader(new
InputStreamReader(_urlConnection.getInputStream()));
//遍历并保存响应结果
String line;
while((line = _in.readLine()) != null){
result += line;
}
}
catch (Exception e) {
e.printStackTrace();
}
finally {
try{
if (_in != null){
_in.close();
}
}catch (Exception e){
e.printStackTrace();
}
}
return result;
}
/**
* 向指定URL发送Post请求
*
* @param url 请求的url
* @param param 请求的参数
* @param content_type 数据格式
* @return 所代表远程资源的响应结果
*/
public static String sendPost(String url, String param, String content_type) {
PrintWriter _out = null;
BufferedReader _in = null;
String result = "";
try {
URL _url = new URL(url);
//打开url连接
URLConnection _urlConnection = _url.openConnection();
// 设置通用的请求属性
_urlConnection.setRequestProperty("accept", "*/*");
_urlConnection.setRequestProperty("connection", "Keep-Alive");
_urlConnection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
_urlConnection.setRequestProperty("Content-Type", content_type);
//设置连接可用于输入/输出
_urlConnection.setDoInput(true);
_urlConnection.setDoInput(true);
//获取URLConnection对象的输出流
_out = new PrintWriter(_urlConnection.getOutputStream());
//发送请求参数
_out.print(param);
//输出缓冲
_out.flush();
//获取响应结果
_in = new BufferedReader(new
InputStreamReader(_urlConnection.getInputStream()));
//遍历并保存响应结果
String line;
while ((line = _in.readLine()) != null) {
result += line;
}
}
catch (Exception e) {
e.printStackTrace();
}
//关闭输入输出流
finally {
try {
if (_in != null) {
_in.close();
}
if (_out != null) {
_out.close();
}
}
catch (IOException e) {
e.printStackTrace();
}
}
return result;
}
}
Java进阶 - Java请求第三方接口代码示例
最新推荐文章于 2025-04-02 22:42:07 发布