java后台获取流_java后台发送请求获取数据,并解析json数据
packagecom.bs.utils;importjava.io.BufferedReader;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjava.net.URL;importjava.net.URLConnection;importjava.util.List;importjava.util.Map;public classBackEndHttpRequest {/*** 向指定的URL發(fā)送GET方法的請求
*@paramurl 發(fā)送請求的URL
*@paramparam 請求參數(shù),請求參數(shù)應(yīng)該是 name1=value1&name2=value2 的形式
*@return遠(yuǎn)程資源的響應(yīng)結(jié)果*/
public staticString sendGet(String url, String param) {
String result= "";
BufferedReader bufferedReader= null;try{//1、讀取初始URL
String urlNameString = url + "?" +param;//2、將url轉(zhuǎn)變?yōu)閁RL類對象
URL realUrl = newURL(urlNameString);//3、打開和URL之間的連接
URLConnection connection =realUrl.openConnection();//4、設(shè)置通用的請求屬性
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.setRequestProperty("Content-Type", "application/json; charset=utf-8");//5、建立實(shí)際的連接
connection.connect();//獲取所有響應(yīng)頭字段
Map> map =connection.getHeaderFields();//遍歷所有的響應(yīng)頭字段
for(String key : map.keySet()) {
System.out.println(key+ "---->" +map.get(key));
}//6、定義BufferedReader輸入流來讀取URL的響應(yīng)內(nèi)容 ,UTF-8是后續(xù)自己加的設(shè)置編碼格式,也可以去掉這個(gè)參數(shù)
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
String line= "";while(null != (line =bufferedReader.readLine())) {
result+=line;
}//int tmp;//while((tmp = bufferedReader.read()) != -1){//result += (char)tmp;//}
}catch(Exception e) {//TODO: handle exception
System.out.println("發(fā)送GET請求出現(xiàn)異常!!!" +e);
e.printStackTrace();
}finally { //使用finally塊來關(guān)閉輸入流
try{if(null !=bufferedReader) {
bufferedReader.close();
}
}catch(Exception e2) {//TODO: handle exception
e2.printStackTrace();
}
}returnresult;
}/*** 向指定的URL發(fā)送POST方法的請求
*@paramurl 發(fā)送請求的URL
*@paramparam 請求參數(shù),請求參數(shù)應(yīng)該是 name1=value1&name2=value2 的形式
*@return遠(yuǎn)程資源的響應(yīng)結(jié)果*/
public staticString sendPost(String url, String param) {
String result= "";
BufferedReader bufferedReader= null;
PrintWriter out= null;try{//1、2、讀取并將url轉(zhuǎn)變?yōu)閁RL類對象
URL realUrl = newURL(url);//3、打開和URL之間的連接
URLConnection connection =realUrl.openConnection();//4、設(shè)置通用的請求屬性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");//發(fā)送POST請求必須設(shè)置如下兩行
connection.setDoInput(true);
connection.setDoOutput(true);//5、建立實(shí)際的連接//connection.connect();//獲取URLConnection對象對應(yīng)的輸出流
out = newPrintWriter(connection.getOutputStream());//發(fā)送請求參數(shù)
out.print(param);//flush輸出流的緩沖
out.flush();//
//6、定義BufferedReader輸入流來讀取URL的響應(yīng)內(nèi)容
bufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"UTF-8"));
String line;while(null != (line =bufferedReader.readLine())) {
result+=line;
}
}catch(Exception e) {//TODO: handle exception
System.out.println("發(fā)送POST請求出現(xiàn)異常!!!" +e);
e.printStackTrace();
}finally { //使用finally塊來關(guān)閉輸出流、輸入流
try{if(null !=out) {
out.close();
}if(null !=bufferedReader) {
bufferedReader.close();
}
}catch(Exception e2) {//TODO: handle exception
e2.printStackTrace();
}
}returnresult;
}
}
總結(jié)
以上是生活随笔為你收集整理的java后台获取流_java后台发送请求获取数据,并解析json数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VMware Workstation 与
- 下一篇: c++输入错误重新输入_管家婆提示本单据