对指定URL发出请求 返回个json或者xml
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ConnectException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
public class HttpGetRequest {
public static void main(String[] args) throws Exception {
//String url = "http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city=&dfc=1&charset=utf-8";
String url = "https://api.mch.weixin.qq.com/pay/unifiedorder";
String date =""+
"<xml>"+
"<appid>wxf0a8469573f4f917</appid>"+
"<attach>测试</attach>"+
"<body>J测试</body>"+
"<mch_id>138530002</mch_id>"+
"<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>"+
"<notify_url>https://192.168.27.45/Notify</notify_url>"+
"<out_trade_no>1415659990</out_trade_no>"+
"<spbill_create_ip>192.168.27.45</spbill_create_ip>"+
"<total_fee>1</total_fee>"+
"<trade_type>JSAPI</trade_type>"+
"<sign>0CB01533B8C1EF103065174F50BCA001</sign>"+
"</xml>";
System.out.println("doget::::"+doGet(url,date));
System.out.println("dopost::::"+doPost(url,date));
}
public static String doGet(String urlStr, String data){
return doPost(urlStr, data);
}
public static String doPost(String urlStr, String data) {
try {
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
// 设置请求方式(GET/POST)
conn.setRequestMethod("POST");
conn.setRequestProperty("content-type", "application/x-www-form-urlencoded");
// 当outputStr不为null时向输出流写数据
if (null != data) {
OutputStream outputStream = conn.getOutputStream();
// 注意编码格式
outputStream.write(data.getBytes("UTF-8"));
outputStream.close();
}
// 从输入流读取返回内容
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
StringBuffer buffer = new StringBuffer();
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
// 释放资源
bufferedReader.close();
inputStreamReader.close();
inputStream.close();
inputStream = null;
conn.disconnect();
return buffer.toString();
} catch (ConnectException ce) {
System.out.println("连接超时:{}"+ ce);
} catch (Exception e) {
System.out.println("https请求异常:{}"+ e);
}
return null;
}
}
1、main方法里面的date可以为空 有需要传数据的时候才用(里面有判断date是否为空 所以main入面date空不空都OK)
2、返回String类型 如果要解析json或者xml 就返回对应的类型