HttpUtils.java
2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.share.mvpsdk.utils;
import android.os.Build;
import android.support.annotation.NonNull;
import android.webkit.WebSettings;
import com.orhanobut.logger.Logger;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Created by Horrarndoo on 2017/9/18.
* <p>
* HttpUtils 主要用于获取UserAgent
*/
public class HttpUtils {
/**
* 获取UserAgent
*
* @return UserAgent
*/
@NonNull
public static String getUserAgent() {
String userAgent = "";
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
try {
userAgent = WebSettings.getDefaultUserAgent(AppUtils.getContext());
} catch (Exception e) {
userAgent = System.getProperty("http.agent");
}
} else {
userAgent = System.getProperty("http.agent");
}
StringBuffer sb = new StringBuffer();
for (int i = 0, length = userAgent.length(); i < length; i++) {
char c = userAgent.charAt(i);
if (c <= '\u001f' || c >= '\u007f') {
sb.append(String.format("\\u%04x", (int) c));
} else {
sb.append(c);
}
}
return sb.toString();
}
public static String makeUA() {
final String ua = Build.BRAND + "/" + Build.MODEL + "/" + Build.VERSION.RELEASE;
return ua;
}
public static String[] returnImageUrlsFromHtml(String html) {
List<String> imageSrcList = new ArrayList<String>();
Pattern p = Pattern.compile("<img\\b[^>]*\\bsrc\\b\\s*=\\s*('|\")?([^'\"\n\r\f>]+(\\" +
".jpg|\\.bmp|\\.eps|\\.gif|\\.mif|\\.miff|\\.png|\\.tif|\\.tiff|\\.svg|\\.wmf|\\" +
".jpe|\\.jpeg|\\.dib|\\.ico|\\.tga|\\.cut|\\.pic|\\b)\\b)[^>]*>", Pattern
.CASE_INSENSITIVE);
Matcher m = p.matcher(html);
String quote = null;
String src = null;
while (m.find()) {
quote = m.group(1);
src = (quote == null || quote.trim().length() == 0) ? m.group(2).split("//s+")[0] : m
.group(2);
imageSrcList.add(src);
}
if (imageSrcList.size() == 0) {
Logger.e("资讯中未匹配到图片链接");
return null;
}
return imageSrcList.toArray(new String[imageSrcList.size()]);
}
}