package com.mzsx.http;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpJsonUilt {
/**
* Get请求
*
* */
public static String readContentFromGet(String GET_URL) throws IOException{
URL getUrl = new URL(GET_URL);
HttpURLConnection connection = (HttpURLConnection) getUrl.openConnection();
connection.connect();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));//设置编码,否则中文乱码
StringBuffer lines=new StringBuffer();
String line=null;
while ((line = reader.readLine()) != null){
lines.append(line);
}
reader.close();
// 断开连接
connection.disconnect();
return lines.toString();
}
/**
* post请求
*
* */
public static String readContentFromPost(String POST_URL, String params) throws IOException{
URL postUrl = new URL(URLEncoder.encode(POST_URL,"utf-8"));
// 打开连接
HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");
// Post 请求不能使用缓存
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
// 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
// 要注意的是connection.getOutputStream会隐含的进行connect。
connection.connect();
DataOutputStream out = new DataOutputStream(connection
.getOutputStream());
// String content = "";//"key=j0r53nmbbd78x7m1pqml06u2&type=1&toemail=cngolon@gmail.com" + "&activatecode=" + URLEncoder.encode("中国聚龙", "utf-8");
// DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写道流里面
out.writeBytes(params);
out.flush();
out.close(); // flush and close
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));//设置编码,否则中文乱码
String line=null;
StringBuffer lines=new StringBuffer();
while ((line = reader.readLine()) != null){
lines.append(line);
}
reader.close();
// 断开连接
connection.disconnect();
return lines.toString();
}
public static void main(String[] args) throws UnsupportedEncodingException {
//如果参数中有中文可以使用URLEncoder.encode(params,"utf-8")转义
//http://api.map.baidu.com/place/v2/search?
String GET_URL = "http://api.map.baidu.com/place/v2/search?ak=F454f8a5efe5e577997931cc01de3974&output=json&query="+URLEncoder.encode("银行","utf-8")+"&page_size=10&page_num=0&scope=1®ion="+URLEncoder.encode("北京","utf-8");
System.out.println(GET_URL);
try {
System.out.println(readContentFromGet(GET_URL));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
转载于:https://blog.51cto.com/qiangmzsx/1394730