java请求url可以带参数

/**
*
* @param urlStr
* url
* @param content
* 提交的参数
* @param encoding
* 编码格式
* @return
*/
public static String getUrlResult(String urlStr, Map<String,Object> map,String method) {
URL url = null;
HttpURLConnection connection = null;
try {
url = new URL(urlStr);
connection = (HttpURLConnection) url.openConnection();// 新建连接实例
connection.setConnectTimeout();// 设置连接超时时间,单位毫秒
connection.setReadTimeout();// 设置读取数据超时时间,单位毫秒
connection.setDoOutput(true);// 是否打开输出流 true|false
connection.setDoInput(true);// 是否打开输入流true|false
connection.setRequestMethod(method);// 提交方法POST|GET
connection.setUseCaches(false);// 是否缓存true|false
connection.connect();// 打开连接端口
DataOutputStream out = new DataOutputStream(
connection.getOutputStream());// 打开输出流往对端服务器写数据
String content=buildUrlQuery(map);
out.writeBytes(content);// 写数据,也就是提交你的表单 name=xxx&pwd=xxx
out.flush();// 刷新
out.close();// 关闭输出流
BufferedReader reader = new BufferedReader(new InputStreamReader(
connection.getInputStream(), "UTF-8"));// 往对端写完数据对端服务器返回数据
// ,以BufferedReader流来读取
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
reader.close();
return buffer.toString();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (connection != null) {
connection.disconnect();// 关闭连接
}
}
return "";
}
private static String buildUrlQuery(Map<String, Object> querys) throws UnsupportedEncodingException {
StringBuilder sbQuery = new StringBuilder();
if (null != querys) {
for (Map.Entry<String, Object> query : querys.entrySet()) {
if ( < sbQuery.length()) {
sbQuery.append("&");
}
if (String.valueOf((query.getKey())).equals("null") && !String.valueOf((query.getValue().toString())).equals("null")) {
sbQuery.append(query.getValue());
}
if (!String.valueOf((query.getKey())).equals("null")) {
sbQuery.append(query.getKey());
if (!String.valueOf(query.getValue()).equals("null")) {
sbQuery.append("=");
sbQuery.append(URLEncoder.encode(query.getValue().toString(), "utf-8"));
}
}
} } return sbQuery.toString();
}
上一篇:QT中C++与Html端通信例子


下一篇:OpenStack 安装:glance 安装