From 5e7b0ed4a154ad067cbcf4aa1a1c7cce32f9864c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 26 四月 2024 18:02:17 +0800 Subject: [PATCH] 唯品会链接解析升级 --- fanli/src/main/java/com/yeshi/fanli/util/TaoBaoHttpUtil.java | 984 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 493 insertions(+), 491 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/util/TaoBaoHttpUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/TaoBaoHttpUtil.java index 2427ae7..680eb4d 100644 --- a/fanli/src/main/java/com/yeshi/fanli/util/TaoBaoHttpUtil.java +++ b/fanli/src/main/java/com/yeshi/fanli/util/TaoBaoHttpUtil.java @@ -1,491 +1,493 @@ -package com.yeshi.fanli.util; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; -import java.net.URLEncoder; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.apache.commons.httpclient.HttpClient; -import org.apache.commons.httpclient.HttpException; -import org.apache.commons.httpclient.NameValuePair; -import org.apache.commons.httpclient.methods.GetMethod; -import org.apache.commons.httpclient.methods.PostMethod; -import org.apache.commons.httpclient.methods.multipart.FilePart; -import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; -import org.apache.commons.httpclient.methods.multipart.Part; -import org.apache.commons.httpclient.methods.multipart.StringPart; -import org.apache.commons.httpclient.params.HttpConnectionManagerParams; -import org.apache.http.HttpEntity; -import org.apache.http.HttpResponse; -import org.apache.http.client.entity.UrlEncodedFormEntity; -import org.apache.http.client.methods.HttpPost; -import org.apache.http.impl.client.DefaultHttpClient; -import org.apache.http.message.BasicNameValuePair; -import org.apache.http.util.EntityUtils; - -import com.yeshi.fanli.entity.address.Address; -import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; - -import net.sf.json.JSONArray; - -public class TaoBaoHttpUtil { - - public static String getShortLink(String url) { - String totalUrl = String.format("http://api.t.sina.com.cn/short_url/shorten.json?source=3271760578&url_long=%s", - URLEncoder.encode(url)); - String result = get(totalUrl); - JSONArray rtesultArray = JSONArray.fromObject(result); - if (rtesultArray.size() > 0) { - return rtesultArray.optJSONObject(0).optString("url_short"); - } - return null; - } - - public static String proxyGet(String url, String cookie) { - HttpClient client = new HttpClient(); - // Address address = ProxyUtil.getAddressProxy(); - // if(address != null){ - // client.getHostConfiguration().setProxy(address.getIp(), - // address.getPort()); - // } - try { - GetMethod method = new GetMethod(url); - if (cookie != null) { - method.addRequestHeader("cookie", cookie); - } - client.executeMethod(method); - return method.getResponseBodyAsString(); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String proxyGet(String url, Map<String, String> headers) { - HttpClient client = new HttpClient(); - // Address address = ProxyUtil.getAddressProxy(); - // if(address != null){ - // client.getHostConfiguration().setProxy(address.getIp(), - // address.getPort()); - // } - try { - GetMethod method = new GetMethod(url); - if (headers != null) { - Iterator<String> keys = headers.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - method.addRequestHeader(key, headers.get(key)); - } - } - client.executeMethod(method); - return method.getResponseBodyAsString(); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String get(String url) { - return get(url, true); - } - - public static String get(String url, boolean isProxy) { - HttpClient client = new HttpClient(); - GetMethod method = new GetMethod(url); - if (isProxy) { - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - } - try { - client.executeMethod(method); - return convertInputStreamToString(method.getResponseBodyAsStream()); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String getAsString(String url, boolean isProxy) { - HttpClient client = new HttpClient(); - GetMethod method = new GetMethod(url); - if (isProxy) { - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - } - try { - client.executeMethod(method); - String response = method.getResponseBodyAsString(); - String s1 = new String(response.getBytes("ISO-8859-1"), "UTF-8"); - return s1; - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String tbGet(String url, Map<String, String> params, String tbAccount) { - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - // if(address != null){ - // client.getHostConfiguration().setProxy(address.getIp(), - // address.getPort()); - // } - Iterator<String> keys = params.keySet().iterator(); - url += "?"; - while (keys.hasNext()) { - String key = keys.next(); - try { - url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); - } catch (UnsupportedEncodingException e) { - e.printStackTrace(); - } - } - GetMethod method = new GetMethod(url); - try { - method.setRequestHeader("User-Agent", - "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"); - method.setRequestHeader("Upgrade-Insecure-Requests", "1"); - method.setRequestHeader("Accept", - "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); - method.setRequestHeader("Accept-Language", "zh-CN,zh;q=0.8"); - method.setRequestHeader("Cache-Control", "max-age=0"); - String taoBaoCookie = TaoBaoOrderUtil.getTaoBaoCookie(tbAccount); - method.setRequestHeader("cookie", taoBaoCookie); - // HttpConnectionManagerParams params2 = new - // HttpConnectionManagerParams(); - // params2.setConnectionTimeout(3500); - // client.getHttpConnectionManager().setParams(params2); - client.executeMethod(method); - // InputStream inputStream = method.getResponseBodyAsStream(); - // String result = convertInputStreamToString(inputStream); - return method.getResponseBodyAsString();// convertInputStreamToString(method.getResponseBodyAsStream()); - } catch (Exception e) { - try { - address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - client.executeMethod(method); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - return ""; - } - - public static String get(String url, Map<String, String> params, boolean proxy) { - HttpClient client = new HttpClient(); - // client.getHostConfiguration().setProxy("192.168.1.122", 8888); - try { - Iterator<String> keys = params.keySet().iterator(); - url += "?"; - while (keys.hasNext()) { - String key = keys.next(); - url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); - } - - //System.out.println("url"+url); - GetMethod method = new GetMethod(url); - //3S鐨勫搷搴旇秴鏃� - HttpConnectionManagerParams hparams = new - HttpConnectionManagerParams(); - hparams.setConnectionTimeout(3000); - client.getHttpConnectionManager().setParams(hparams); - - /* - * if(proxy){ Address address = ProxyUtil.getAddressProxy(); - * if(address != null){ HttpConnectionManagerParams hparams = new - * HttpConnectionManagerParams(); - * hparams.setConnectionTimeout(3500); - * client.getHttpConnectionManager().setParams(hparams); - * client.getHostConfiguration().setProxy(address.getIp(),address. - * getPort()); } } - */ - // client.getHostConfiguration().setProxy("192.168.1.122",8888); - client.executeMethod(method); - String result = method.getResponseBodyAsString(); - return result; - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } - - public static String get(String url, Map<String, String> params, Map<String, String> headers, boolean proxy) { - HttpClient client = new HttpClient(); - try { - Iterator<String> keys = params.keySet().iterator(); - url += "?"; - while (keys.hasNext()) { - String key = keys.next(); - url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); - } - - System.out.println(url); - - GetMethod method = new GetMethod(url); - if (headers != null) { - keys = headers.keySet().iterator(); - while (keys.hasNext()) { - String key = keys.next(); - headers.get(key); - method.setRequestHeader(key, headers.get(key)); - } - } - - /* - * if(proxy){ Address address = ProxyUtil.getAddressProxy(); - * if(address != null){ HttpConnectionManagerParams hparams = new - * HttpConnectionManagerParams(); - * hparams.setConnectionTimeout(3500); - * client.getHttpConnectionManager().setParams(hparams); - * client.getHostConfiguration().setProxy(address.getIp(),address. - * getPort()); } } - */ - // client.getHostConfiguration().setProxy("120.92.118.64", 10000); - - client.executeMethod(method); - String result = method.getResponseBodyAsString(); - return result; - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } - - public static String taoKeGet(Map<String, String> params) { - // 鑱氱煶濉旀湇鍔″櫒鐜 118.178.179.189 - String result = get("http://118.178.179.189/taoke/", params, false); - if (StringUtil.isNullOrEmpty(result)) - result = get("http://gw.api.taobao.com/router/rest", params, false); - return result; - } - - public static String get(String url, Map<String, String> params) { - // TODO 娣樺疂鐨勬墍鏈夎姹傞渶瑕佽蛋鑱氱煶濉� - // http://118.178.179.189/taoke/ - return get(url, params, false); - } - - public static String get(String url, String charset) { - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - GetMethod method = new GetMethod(url); - try { - client.executeMethod(method); - BufferedReader reader = new BufferedReader( - new InputStreamReader(method.getResponseBodyAsStream(), "ISO-8859-1")); - String tmp = null; - String htmlRet = ""; - while ((tmp = reader.readLine()) != null) { - htmlRet += tmp + "\r\n"; - } - return new String(htmlRet.getBytes(charset), "UTF-8"); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - - } - - public static InputStream getAsInputStream(String url) { - HttpClient client = new HttpClient(); - GetMethod method = new GetMethod(url); - try { - client.executeMethod(method); - return method.getResponseBodyAsStream(); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - - public static InputStream getImage(String url) { - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - GetMethod method = new GetMethod(url); - try { - method.setRequestHeader("Content-Type", "image/jpeg"); - client.executeMethod(method); - return method.getResponseBodyAsStream(); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - - public static String post(String url) { - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - PostMethod method = new PostMethod(url); - method.addRequestHeader("Content-Type", "text/html;charset=UTF-8"); - method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); - try { - client.executeMethod(method); - return convertInputStreamToString(method.getResponseBodyAsStream()); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String post(String url, Map<String, String> map) { - Iterator<String> its = map.keySet().iterator(); - NameValuePair[] params = new NameValuePair[map.keySet().size()]; - int p = 0; - while (its.hasNext()) { - String key = its.next(); - NameValuePair np = new NameValuePair(key, map.get(key)); - params[p] = np; - p++; - } - - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - PostMethod method = new PostMethod(url); - method.addRequestHeader("Content-Type", "text/html;charset=UTF-8"); - method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); - method.setRequestBody(params); - try { - client.executeMethod(method); - return convertInputStreamToString(method.getResponseBodyAsStream()); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String post(String url, Map<String, String> map, Map<String, String> headers) { - org.apache.http.client.HttpClient client = new DefaultHttpClient(); - - HttpPost httpRequst = new HttpPost(url);// 鍒涘缓HttpPost瀵硅薄 - List<org.apache.http.NameValuePair> params = new ArrayList<org.apache.http.NameValuePair>(); - Iterator<String> its = map.keySet().iterator(); - while (its.hasNext()) { - String key = its.next(); - params.add(new BasicNameValuePair(key, map.get(key))); - } - try { - HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8"); - httpRequst.setEntity(entity); - HttpResponse httpResponse = client.execute(httpRequst); - if (httpResponse.getStatusLine().getStatusCode() == 200) { - HttpEntity httpEntity = httpResponse.getEntity(); - String result = EntityUtils.toString(httpEntity, "UTF-8");// 鍙栧嚭搴旂瓟瀛楃锟�? - return result; - } - } catch (Exception e) { - e.printStackTrace(); - } - - return ""; - - // Iterator<String> its = map.keySet().iterator(); - } - - private static String convertInputStreamToString(InputStream inputStream) { - BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); - StringBuffer stringBuffer = new StringBuffer(); - String str = ""; - try { - while ((str = br.readLine()) != null) { - stringBuffer.append(str); - } - } catch (IOException e) { - e.printStackTrace(); - } - return stringBuffer.toString(); - } - - @SuppressWarnings("deprecation") - public static String post(String url, String entity) { - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - PostMethod method = new PostMethod(url); - method.addRequestHeader("Content-Type", "text/html;charset=UTF-8"); - method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); - method.setRequestBody(entity); - try { - client.executeMethod(method); - return convertInputStreamToString(method.getResponseBodyAsStream()); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } - - public static String postInputStream(String url, File file) throws FileNotFoundException { - HttpClient client = new HttpClient(); - Address address = ProxyUtil.getAddressProxy(); - if (address != null) { - client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); - } - PostMethod postMethod = new PostMethod(url); - /* - * postMethod.addRequestHeader("Content-Type", - * "text/html;charset=UTF-8"); - * postMethod.setRequestHeader("Content-Type", - * "text/html;charset=UTF-8"); - */ - Part[] parts = { new StringPart("filename", file.getName()), new StringPart("filelength", file.length() + ""), - new StringPart("content-type", "image/jpg"), new FilePart("file", file) }; - postMethod.setRequestEntity(new MultipartRequestEntity(parts, postMethod.getParams())); - - try { - client.executeMethod(postMethod); - return convertInputStreamToString(postMethod.getResponseBodyAsStream()); - } catch (HttpException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } - return ""; - } -} +package com.yeshi.fanli.util; + +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.apache.commons.httpclient.HttpClient; +import org.apache.commons.httpclient.HttpException; +import org.apache.commons.httpclient.NameValuePair; +import org.apache.commons.httpclient.methods.GetMethod; +import org.apache.commons.httpclient.methods.PostMethod; +import org.apache.commons.httpclient.methods.multipart.FilePart; +import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity; +import org.apache.commons.httpclient.methods.multipart.Part; +import org.apache.commons.httpclient.methods.multipart.StringPart; +import org.apache.commons.httpclient.params.HttpConnectionManagerParams; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.message.BasicNameValuePair; +import org.apache.http.util.EntityUtils; + +import com.yeshi.fanli.entity.address.Address; +import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil; + +import net.sf.json.JSONArray; + +public class TaoBaoHttpUtil { + + public static String getShortLink(String url) { + String totalUrl = String.format("http://api.t.sina.com.cn/short_url/shorten.json?source=3271760578&url_long=%s", + URLEncoder.encode(url)); + String result = get(totalUrl); + JSONArray rtesultArray = JSONArray.fromObject(result); + if (rtesultArray.size() > 0) { + return rtesultArray.optJSONObject(0).optString("url_short"); + } + return null; + } + + public static String proxyGet(String url, String cookie) { + HttpClient client = new HttpClient(); + // Address address = ProxyUtil.getAddressProxy(); + // if(address != null){ + // client.getHostConfiguration().setProxy(address.getIp(), + // address.getPort()); + // } + try { + GetMethod method = new GetMethod(url); + if (cookie != null) { + method.addRequestHeader("cookie", cookie); + } + client.executeMethod(method); + return method.getResponseBodyAsString(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String proxyGet(String url, Map<String, String> headers) { + HttpClient client = new HttpClient(); + // Address address = ProxyUtil.getAddressProxy(); + // if(address != null){ + // client.getHostConfiguration().setProxy(address.getIp(), + // address.getPort()); + // } + try { + GetMethod method = new GetMethod(url); + if (headers != null) { + Iterator<String> keys = headers.keySet().iterator(); + while (keys.hasNext()) { + String key = keys.next(); + method.addRequestHeader(key, headers.get(key)); + } + } + client.executeMethod(method); + return method.getResponseBodyAsString(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String get(String url) { + return get(url, true); + } + + public static String get(String url, boolean isProxy) { + HttpClient client = new HttpClient(); + GetMethod method = new GetMethod(url); + if (isProxy) { + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + } + try { + client.executeMethod(method); + return convertInputStreamToString(method.getResponseBodyAsStream()); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String getAsString(String url, boolean isProxy) { + HttpClient client = new HttpClient(); + GetMethod method = new GetMethod(url); + if (isProxy) { + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + } + try { + client.executeMethod(method); + String response = method.getResponseBodyAsString(); + String s1 = new String(response.getBytes("ISO-8859-1"), "UTF-8"); + return s1; + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String tbGet(String url, Map<String, String> params, String tbAccount) { + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + // if(address != null){ + // client.getHostConfiguration().setProxy(address.getIp(), + // address.getPort()); + // } + Iterator<String> keys = params.keySet().iterator(); + url += "?"; + while (keys.hasNext()) { + String key = keys.next(); + try { + url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + } + GetMethod method = new GetMethod(url); + try { + method.setRequestHeader("User-Agent", + "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"); + method.setRequestHeader("Upgrade-Insecure-Requests", "1"); + method.setRequestHeader("Accept", + "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); + method.setRequestHeader("Accept-Language", "zh-CN,zh;q=0.8"); + method.setRequestHeader("Cache-Control", "max-age=0"); + String taoBaoCookie = TaoBaoOrderUtil.getTaoBaoCookie(tbAccount); + method.setRequestHeader("cookie", taoBaoCookie); + // HttpConnectionManagerParams params2 = new + // HttpConnectionManagerParams(); + // params2.setConnectionTimeout(3500); + // client.getHttpConnectionManager().setParams(params2); + client.executeMethod(method); + // InputStream inputStream = method.getResponseBodyAsStream(); + // String result = convertInputStreamToString(inputStream); + return method.getResponseBodyAsString();// convertInputStreamToString(method.getResponseBodyAsStream()); + } catch (Exception e) { + try { + address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + client.executeMethod(method); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + return ""; + } + + public static String get(String url, Map<String, String> params, boolean proxy) { + HttpClient client = new HttpClient(); + // client.getHostConfiguration().setProxy("192.168.1.122", 8888); + try { + Iterator<String> keys = params.keySet().iterator(); + url += "?"; + while (keys.hasNext()) { + String key = keys.next(); + url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); + } + + // System.out.println("url"+url); + GetMethod method = new GetMethod(url); + // 3S鐨勫搷搴旇秴鏃� + HttpConnectionManagerParams hparams = new HttpConnectionManagerParams(); + hparams.setConnectionTimeout(3000); + client.getHttpConnectionManager().setParams(hparams); + + /* + * if(proxy){ Address address = ProxyUtil.getAddressProxy(); + * if(address != null){ HttpConnectionManagerParams hparams = new + * HttpConnectionManagerParams(); + * hparams.setConnectionTimeout(3500); + * client.getHttpConnectionManager().setParams(hparams); + * client.getHostConfiguration().setProxy(address.getIp(),address. + * getPort()); } } + */ + // client.getHostConfiguration().setProxy("192.168.1.122",8888); + client.executeMethod(method); + String result = method.getResponseBodyAsString(); + return result; + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + public static String get(String url, Map<String, String> params, Map<String, String> headers, boolean proxy) { + HttpClient client = new HttpClient(); + try { + Iterator<String> keys = params.keySet().iterator(); + url += "?"; + while (keys.hasNext()) { + String key = keys.next(); + url += String.format("%s=%s&", key, URLEncoder.encode(params.get(key), "UTF-8")); + } + + System.out.println(url); + + GetMethod method = new GetMethod(url); + if (headers != null) { + keys = headers.keySet().iterator(); + while (keys.hasNext()) { + String key = keys.next(); + headers.get(key); + method.setRequestHeader(key, headers.get(key)); + } + } + + /* + * if(proxy){ Address address = ProxyUtil.getAddressProxy(); + * if(address != null){ HttpConnectionManagerParams hparams = new + * HttpConnectionManagerParams(); + * hparams.setConnectionTimeout(3500); + * client.getHttpConnectionManager().setParams(hparams); + * client.getHostConfiguration().setProxy(address.getIp(),address. + * getPort()); } } + */ + // client.getHostConfiguration().setProxy("120.92.118.64", 10000); + + client.executeMethod(method); + String result = method.getResponseBodyAsString(); + return result; + } catch (Exception e) { + e.printStackTrace(); + } + return ""; + } + + public static String taoKeGet(Map<String, String> params) { + // 鑱氱煶濉旀湇鍔″櫒鐜 118.178.179.189 + + // result = get("http://118.178.179.189/taoke/", params, false); + // if (StringUtil.isNullOrEmpty(result)) + //https://eco.taobao.com/router/rest + //http://gw.api.taobao.com/router/rest + String result = get("https://eco.taobao.com/router/rest", params, false); + return result; + } + + public static String get(String url, Map<String, String> params) { + // TODO 娣樺疂鐨勬墍鏈夎姹傞渶瑕佽蛋鑱氱煶濉� + // http://118.178.179.189/taoke/ + return get(url, params, false); + } + + public static String get(String url, String charset) { + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + GetMethod method = new GetMethod(url); + try { + client.executeMethod(method); + BufferedReader reader = new BufferedReader( + new InputStreamReader(method.getResponseBodyAsStream(), "ISO-8859-1")); + String tmp = null; + String htmlRet = ""; + while ((tmp = reader.readLine()) != null) { + htmlRet += tmp + "\r\n"; + } + return new String(htmlRet.getBytes(charset), "UTF-8"); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + + } + + public static InputStream getAsInputStream(String url) { + HttpClient client = new HttpClient(); + GetMethod method = new GetMethod(url); + try { + client.executeMethod(method); + return method.getResponseBodyAsStream(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public static InputStream getImage(String url) { + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + GetMethod method = new GetMethod(url); + try { + method.setRequestHeader("Content-Type", "image/jpeg"); + client.executeMethod(method); + return method.getResponseBodyAsStream(); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + public static String post(String url) { + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + PostMethod method = new PostMethod(url); + method.addRequestHeader("Content-Type", "text/html;charset=UTF-8"); + method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); + try { + client.executeMethod(method); + return convertInputStreamToString(method.getResponseBodyAsStream()); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String post(String url, Map<String, String> map) { + Iterator<String> its = map.keySet().iterator(); + NameValuePair[] params = new NameValuePair[map.keySet().size()]; + int p = 0; + while (its.hasNext()) { + String key = its.next(); + NameValuePair np = new NameValuePair(key, map.get(key)); + params[p] = np; + p++; + } + + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + PostMethod method = new PostMethod(url); + method.addRequestHeader("Content-Type", "text/html;charset=UTF-8"); + method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); + method.setRequestBody(params); + try { + client.executeMethod(method); + return convertInputStreamToString(method.getResponseBodyAsStream()); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String post(String url, Map<String, String> map, Map<String, String> headers) { + org.apache.http.client.HttpClient client = new DefaultHttpClient(); + + HttpPost httpRequst = new HttpPost(url);// 鍒涘缓HttpPost瀵硅薄 + List<org.apache.http.NameValuePair> params = new ArrayList<org.apache.http.NameValuePair>(); + Iterator<String> its = map.keySet().iterator(); + while (its.hasNext()) { + String key = its.next(); + params.add(new BasicNameValuePair(key, map.get(key))); + } + try { + HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8"); + httpRequst.setEntity(entity); + HttpResponse httpResponse = client.execute(httpRequst); + if (httpResponse.getStatusLine().getStatusCode() == 200) { + HttpEntity httpEntity = httpResponse.getEntity(); + String result = EntityUtils.toString(httpEntity, "UTF-8");// 鍙栧嚭搴旂瓟瀛楃锟�? + return result; + } + } catch (Exception e) { + e.printStackTrace(); + } + + return ""; + + // Iterator<String> its = map.keySet().iterator(); + } + + private static String convertInputStreamToString(InputStream inputStream) { + BufferedReader br = new BufferedReader(new InputStreamReader(inputStream)); + StringBuffer stringBuffer = new StringBuffer(); + String str = ""; + try { + while ((str = br.readLine()) != null) { + stringBuffer.append(str); + } + } catch (IOException e) { + e.printStackTrace(); + } + return stringBuffer.toString(); + } + + @SuppressWarnings("deprecation") + public static String post(String url, String entity) { + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + PostMethod method = new PostMethod(url); + method.addRequestHeader("Content-Type", "text/html;charset=UTF-8"); + method.setRequestHeader("Content-Type", "text/html;charset=UTF-8"); + method.setRequestBody(entity); + try { + client.executeMethod(method); + return convertInputStreamToString(method.getResponseBodyAsStream()); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } + + public static String postInputStream(String url, File file) throws FileNotFoundException { + HttpClient client = new HttpClient(); + Address address = ProxyUtil.getAddressProxy(); + if (address != null) { + client.getHostConfiguration().setProxy(address.getIp(), address.getPort()); + } + PostMethod postMethod = new PostMethod(url); + /* + * postMethod.addRequestHeader("Content-Type", + * "text/html;charset=UTF-8"); + * postMethod.setRequestHeader("Content-Type", + * "text/html;charset=UTF-8"); + */ + Part[] parts = { new StringPart("filename", file.getName()), new StringPart("filelength", file.length() + ""), + new StringPart("content-type", "image/jpg"), new FilePart("file", file) }; + postMethod.setRequestEntity(new MultipartRequestEntity(parts, postMethod.getParams())); + + try { + client.executeMethod(postMethod); + return convertInputStreamToString(postMethod.getResponseBodyAsStream()); + } catch (HttpException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return ""; + } +} -- Gitblit v1.8.0