Skip to content

Commit

Permalink
Update FindUrlAndRequest.java
Browse files Browse the repository at this point in the history
  • Loading branch information
bit4woo committed May 7, 2024
1 parent 42e06c0 commit 3bf741d
Showing 1 changed file with 27 additions and 21 deletions.
48 changes: 27 additions & 21 deletions src/knife/FindUrlAndRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public void run() {
if (null == baseurl) {
return;
}

urls = choseURLPath(urls);

for (String url : urls) {
Expand Down Expand Up @@ -173,14 +173,7 @@ public void findUrls(IHttpRequestResponse message) {
urls.addAll(UrlUtils.grepUrlsWithProtocol(body));
urls.addAll(UrlUtils.grepUrlPathNotStartWithSlashInQuotes(body));
urls.addAll(UrlUtils.grepUrlsInQuotes(body));
urls = TextUtils.deduplicate(urls);
Iterator<String> it = urls.iterator();
while (it.hasNext()) {
String urlItem = it.next();
if (UrlUtils.uselessExtension(urlItem)) {
it.remove();;
}
}
urls = cleanUrls(urls);
baseUrls.addAll(findPossibleBaseURL(urls));
}
}
Expand Down Expand Up @@ -238,21 +231,34 @@ public static Set<String> findPossibleBaseURL(List<String> urls) {
if (tmpurl.toLowerCase().startsWith("http://")
|| tmpurl.toLowerCase().startsWith("https://")) {

try {
String host = new URL(tmpurl).getHost();
if (Arrays.asList(blackHostList).contains(host)) {
continue;
}
} catch (Exception E) {
continue;
}

baseURLs.add(tmpurl);
}
}
return baseURLs;
}

public static List<String> cleanUrls(List<String> urls) {

urls = TextUtils.deduplicate(urls);
Iterator<String> it = urls.iterator();
while (it.hasNext()) {
String urlItem = it.next();
if (UrlUtils.uselessExtension(urlItem)) {
it.remove();
}
try {
String host = new URL(urlItem).getHost();
if (Arrays.asList(blackHostList).contains(host)) {
it.remove();
}
} catch (Exception E) {
continue;
}
}
return urls;
}


public static String choseAndEditBaseURL(Set<String> inputs) {

ArrayList<String> tmpList = new ArrayList<String>(inputs);
Expand Down Expand Up @@ -280,12 +286,12 @@ public static String choseAndEditBaseURL(Set<String> inputs) {
}
return selectedValue;
}


public static List<String> choseURLPath(List<String> urls) {

Collections.sort(urls);

String text = SwingUtils.showTextAreaDialog(String.join(System.lineSeparator(), urls));
if (StringUtils.isEmpty(text)) {
return new ArrayList<String>();
Expand Down

0 comments on commit 3bf741d

Please sign in to comment.