81,094
社区成员
发帖
与我相关
我的任务
分享
/**
* @param url like http://www.test.com/xx.do.
* @param params GET method pass parameters.
* @param props Http request properties.
* @param proxy proxy.
* @return
*/
private HttpURLConnection connection(String url,
Map<String, String> params, Map<String, String> props, Proxy proxy)
HttpURLConnection conn = null;
StringBuffer urlParams = new StringBuffer();
Iterator<Entry<String, String>> it = params.entrySet().iterator();
while(it.hasNext()) {
if(urlParams.length() > 0) {
urlParams.append("&");
}
Entry<String, String> entry = it.next();
urlParams.append(entry.getKey());
urlParams.append("=");
urlParams.append(URLEncoder.encode(entry.getValue(), charset));
}
url = url + urlParams;
if(proxy == null) {
conn = (HttpURLConnection) new URL(url).openConnection();
}
else {
conn = (HttpURLConnection) new URL(url).openConnection(proxy);
}
conn.setRequestMethod(requestMethod);
conn.setDoInput(doinput);
conn.setDoOutput(dooutput);
conn.setConnectTimeout(connectTimeout);
conn.setReadTimeout(readTimeout);
conn.setAllowUserInteraction(allowuserinteraction);
conn.setInstanceFollowRedirects(followRedirects);
conn.setUseCaches(usecaches);
conn.setRequestProperty("Content-Type", "text/html; charset=" + charset);
if(props != null && !props.isEmpty()) {
Iterator<Entry<String, String>> itp = props.entrySet().iterator();
while(itp.hasNext()) {
Entry<String, String> entry = itp.next();
conn.setRequestProperty(entry.getKey(), entry.getValue());
}
}
return conn;
}