[java]
package com.test;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.nio.charset.Charset;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
/**
*
*
* @author: ZhouQiShan
* @since: 2011-06-09
*/
public class CookieUtil {
public final static String CONTENT_TYPE = "Content-Type";
public static void setProxy(String host, String port) {
System.setProperty("proxySet", "true");
System.setProperty("proxyHost", host);
System.setProperty("proxyPort", port);
}
public static Content curl(String method, String sUrl,
Map paramMap, Map requestHeaderMap,
boolean isOnlyReturnHeader,String path) {
Content content = null;
HttpURLConnection httpUrlConnection = null;
InputStream in = null;
setProxy("172.16.55.51", "808");
try {
URL url = new URL(sUrl);
boolean isPost = "POST".equals(method);
if (method == null
|| (!"GET".equalsIgnoreCase(method) && !"POST"
.equalsIgnoreCase(method))) {
method = "POST";
}
URL resolvedURL = url;
if ("GET".equals(method) && paramMap != null) {
boolean firstParam = true;
StringBuffer newUrlBuffer = new StringBuffer(url
.toExternalForm());
if (url.getQuery() == null) {
newUrlBuffer.append(" ");
} else {
newUrlBuffer.append("&");
}
for (Map.Entry entry : paramMap.entrySet()) {
String encName = URLEncoder.encode(entry.getKey(), "UTF-8");
if (firstParam) {
firstParam = false;
} else {
newUrlBuffer.append("&");
}
String encValue = URLEncoder.encode(entry.getValue(),
"UTF-8");
newUrlBuffer.append(encName);
newUrlBuffer.append("=");
newUrlBuffer.append(encValue);
}
resolvedURL = new java.net.URL(newUrlBuffer.toString());
}
URLConnection urlConnection = resolvedURL.openConnection();
httpUrlConnection = (HttpURLConnection) urlConnection;
httpUrlConnection.setRequestMethod(method);
httpUrlConnection.setRequestProperty("Accept-Language", "zh-cn,zh;q=0.5");
// Do not follow redirects, We will handle redirects ourself
httpUrlConnection.setInstanceFollowRedirects(false);
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);