解决方案 »
- 有一个值他无时无刻都在赋值,赋的值也没有规律,怎么让现在的值 和500毫秒以后的值进行比较啊?
- 连接数据库时,有问题
- android 记事本问题 有关EditText。。
- 求教MonoForAndroid的基础问题!
- 将C函数程序封装成.so动态链接库怎么留接口
- Android (&Tizen) Web App SDK 支持Tizen与Android Hybird/Web App相互转化
- 线程同步问题
- [新手求助]Service小程序运行出错
- 开发Android app如何应用Drools
- Android Q beta版下怎么调用系统相册图片?
- android json解析的问题
- android 按键控制问题
/**
* 根据url调用web接口
*
* @param url
* 访问地址, 必备参数
* @param method
* 请求方式post还是get, 默认get
* @param params
* 参数列表 post必备, 比如:"name=张三&age=18"
* @param sessionInfo
* 可以保持session, 默认不保持
* @param encoding
* 编码格式, 默认UTF_8
* @param isLine
* 得到的源码是否换行, 默认false
* @return String
*/
public static String requestUrl(String url, String method, String params, String sessionInfo, String encoding,
boolean isLine) {
try {
encoding = (ToolUtil.isBlank(encoding) ? CharEncoding.UTF_8 : encoding);
method = (ToolUtil.isBlank(method) ? Constant.REQUEST_GET : method.toUpperCase());
String mathStr = "mathRandom=" + Math.random();
if (method.equals(Constant.REQUEST_GET)) {
url += (url.indexOf("?") != -1 ? "&" : "?") + mathStr;
if (!ToolUtil.isBlank(params)) {
url += "&" + params;
}
}
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
if (!ToolUtil.isBlank(sessionInfo)) {
connection.setRequestProperty("Cookie", sessionInfo);
}
connection.setRequestMethod(method);
connection.setConnectTimeout(15000);
connection.setReadTimeout(15000);
if (method.equals(Constant.REQUEST_POST)) {
connection.setDoOutput(true);
params = (ToolUtil.isBlank(params) ? mathStr : params + "&" + mathStr);
OutputStream output = connection.getOutputStream();
output.write(params.getBytes(encoding));
output.flush();
output.close();
}
String result = FileUtil.readFile(connection.getInputStream(), encoding, 1, isLine);
connection.disconnect();
return result;
} catch (Exception e) {
log.error("根据url调用web接口", e);
throw new MvcException(e.getMessage());
}
}