| | |
| | | import java.net.URL;
|
| | | import java.net.URLEncoder;
|
| | | import java.security.KeyStore;
|
| | | import java.util.ArrayList;
|
| | | import java.util.Iterator;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | | import java.util.regex.Matcher;
|
| | | import java.util.regex.Pattern;
|
| | |
|
| | | import javax.net.ssl.SSLContext;
|
| | |
|
| | |
| | | import org.apache.http.util.EntityUtils;
|
| | | import org.yeshi.utils.entity.ProxyIP;
|
| | |
|
| | | import net.sf.json.JSONArray;
|
| | | import net.sf.json.JSONObject;
|
| | |
|
| | | public class HttpUtil {
|
| | |
|
| | | public static List<String> getUrlListFromText(String text) {
|
| | | List<String> urlList = new ArrayList<String>();
|
| | | // 链接
|
| | | String URL_REGEX = "(((http|https)://)|(www\\.))[a-zA-Z0-9\\._-]+\\.[a-zA-Z]{2,6}(:[0-9]{1,4})?(/[a-zA-Z0-9\\&%_\\./-~-]*)?";
|
| | | Pattern p = Pattern.compile(URL_REGEX);
|
| | | Matcher matcher = p.matcher(text);
|
| | | while (matcher.find()) {
|
| | | String url = matcher.group();
|
| | | if (!StringUtil.isNullOrEmpty(url)) {
|
| | | urlList.add(url);
|
| | | }
|
| | | }
|
| | | return urlList;
|
| | | }
|
| | |
|
| | | public static String getHost(String host) {
|
| | | try {
|
| | |
| | | }
|
| | |
|
| | | public static String getShortLink(String url) {
|
| | | String shortLink = getShortLink2(url);
|
| | | if (StringUtil.isNullOrEmpty(shortLink))
|
| | | shortLink = getShortLink3(url);
|
| | | // return url;
|
| | | String shortLink = getShortLink3(url);
|
| | | if (StringUtil.isNullOrEmpty(shortLink))
|
| | | shortLink = getShortLink1(url);
|
| | | if (StringUtil.isNullOrEmpty(shortLink))
|
| | | shortLink = getShortLink2(url);
|
| | | return shortLink;
|
| | | }
|
| | |
|
| | |
| | | try {
|
| | | String totalUrl = String.format(
|
| | | "http://suo.im/api.htm?format=json&url=%s&key=5d7728078e676d45275f816b@681bb0446f1e6af4f8fc6ce3cad2a684",
|
| | | URLEncoder.encode(url));
|
| | | URLEncoder.encode(url));
|
| | | String result = get(totalUrl, null);
|
| | | System.out.println(result);
|
| | | try {
|
| | |
| | | return null;
|
| | | }
|
| | |
|
| | | //搜狐网址
|
| | | // 搜狐网址
|
| | | private static String getShortLink2(String url) {
|
| | | try {
|
| | | String totalUrl = String.format(
|
| | | "https://sohu.gg/api/?key=2zumZxsL8MuX&url=%s",
|
| | | URLEncoder.encode(url,"UTF-8"));
|
| | | String totalUrl = String.format("https://sohu.gg/api/?key=2zumZxsL8MuX&url=%s",
|
| | | URLEncoder.encode(url, "UTF-8"));
|
| | | String result = get(totalUrl, null);
|
| | | if(result!=null&&result.startsWith("http"))
|
| | | if (result != null && result.startsWith("http"))
|
| | | return result;
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | |
| | |
|
| | | private static String getShortLink3(String url) {
|
| | | try {
|
| | | String totalUrl = String.format(
|
| | | "http://api.t.sina.com.cn/short_url/shorten.json?source=2963429064&url_long=%s",
|
| | | URLEncoder.encode(url));
|
| | | String totalUrl = String.format("http://h5.flq001.com/short/createShort?url=%s",
|
| | | URLEncoder.encode(url, "UTF-8"));
|
| | | String result = get(totalUrl, null);
|
| | | JSONObject data = JSONArray.fromObject(result).optJSONObject(0);
|
| | | return data.optString("url_short");
|
| | | JSONObject data = JSONObject.fromObject(result);
|
| | | return data.optString("short_url");
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | |
| | | return "";
|
| | | }
|
| | |
|
| | | @SuppressWarnings("deprecation")
|
| | | public static String post(String url, String entity, String charset) {
|
| | | HttpClient client = new HttpClient();
|
| | | PostMethod method = new PostMethod(url);
|
| | | method.addRequestHeader("Content-Type", "text/html;charset=" + charset);
|
| | | method.setRequestHeader("Content-Type", "text/html;charset=" + charset);
|
| | | 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();
|
| | | PostMethod postMethod = new PostMethod(url);
|
| | |
| | |
|
| | | return result;
|
| | | }
|
| | |
|
| | | /**
|
| | | * 获取post返回location
|
| | | * |
| | | * @param url
|
| | | * @return
|
| | | */
|
| | | public static String getLocation(String url) {
|
| | | HttpClient client = new HttpClient();
|
| | | PostMethod method = new PostMethod(url);
|
| | | try {
|
| | | client.executeMethod(method);
|
| | | return method.getResponseHeader("location").getValue();
|
| | | } catch (HttpException e) {
|
| | | e.printStackTrace();
|
| | | } catch (IOException e) {
|
| | | e.printStackTrace();
|
| | | }
|
| | | return null;
|
| | | }
|
| | | }
|