Kaynağa Gözat

add StringUtil.findAllMatches and HttpUtil.applyRegexToUrl

tags/2.0.1
Jonathan Cobb 4 yıl önce
ebeveyn
işleme
ea72ac4a16
2 değiştirilmiş dosya ile 23 ekleme ve 0 silme
  1. +15
    -0
      src/main/java/org/cobbzilla/util/http/HttpUtil.java
  2. +8
    -0
      src/main/java/org/cobbzilla/util/string/StringUtil.java

+ 15
- 0
src/main/java/org/cobbzilla/util/http/HttpUtil.java Dosyayı Görüntüle

@@ -33,6 +33,7 @@ import java.net.URL;
import java.net.URLDecoder;
import java.nio.charset.Charset;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import static com.google.common.net.HttpHeaders.CONTENT_DISPOSITION;
@@ -562,4 +563,18 @@ public class HttpUtil {
String dest = chaseRedirects("http://example.com/?", 10);
System.out.println("dest = "+dest);
}

public static List<String> applyRegexToUrl(String url, List<NameAndValue> headers, String regex, Integer group) {
final HttpRequestBean requestBean = new HttpRequestBean(GET, url).setHeaders(headers);
final HttpClientBuilder clientBuilder = requestBean.initClientBuilder(HttpClients.custom().disableRedirectHandling());
try {
@Cleanup final CloseableHttpClient client = clientBuilder.build();
final HttpResponseBean responseBean = HttpUtil.getResponse(requestBean, client);
return StringUtil.findAllMatches(responseBean.getEntityString(), regex, group);
} catch (Exception e) {
log.error("applyRegexToUrl: error: "+shortError(e));
}
return null;
}

}

+ 8
- 0
src/main/java/org/cobbzilla/util/string/StringUtil.java Dosyayı Görüntüle

@@ -558,4 +558,12 @@ public class StringUtil {

public static String sqlEscapeAndQuote(String val) { return "'" + escapeSql(val) + "'"; }

public static List<String> findAllMatches(String val, String regex, Integer group) {
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(val);
final List<String> matches = new ArrayList<>();
while (matcher.find()) matches.add(group == null ? matcher.group() : matcher.group(group));
return matches;
}

}

Yükleniyor…
İptal
Kaydet