gpt4 book ai didi

java - 解析 HTML 获取网页链接,有些链接显示一个 :80 in the URL. 这是为什么?

转载 作者:行者123 更新时间:2023-11-29 06:05:11 24 4
gpt4 key购买 nike

我正在使用 JTidy 来解析 HTML 页面以提取页面链接。我在几个网页上测试它,其中之一是 www.support.xbox.com。一些链接在 URL 中显示 :80,例如

http://support.xbox.com:80/en-US/xbox-360/disc-drive/disc-replacement-programhttp://support.xbox.com:80/en-US/xbox-live/marketplace-and-purchasing/play-xbox-live-content http://support.xbox.com:80/en-US/games/call-of-duty/call-of-duty-elite-subscription

我假设 :80 表示正在使用的端口,但这是为什么呢?

不确定是否需要我的代码,但无论如何它都在这里!

package urltest;

import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.io.IOException;
import org.jsoup.Connection;

public class UrlTest {

public static void main(String[] args) throws IOException {
String url = "http://support.xbox.com";
print("Fetching %s...", url);

Document doc = Jsoup.connect(url).timeout(0).get();
Elements links = doc.select("div#BodyContent a[href]");

print("\nLinks: (%d)", links.size());
for (Element link : links) {
print("%s (%s)", link.attr("abs:href"), trim(link.text(), 35));
}
}

private static void print(String msg, Object... args) {
System.out.println(String.format(msg, args));
}

private static String trim(String s, int width) {
if (s.length() > width)
return s.substring(0, width-1) + ".";
else
return s;
}
}

最佳答案

如果你在浏览器上输入

www.stackoverflow.com

www.stackoverflow.com:80

你会得到相同的结果。因为浏览器隐式地在所有代表 http 请求端口号的地址上加上 :80。

现在为什么有的网站有加有的没有,这要看很多问题。但毕竟不会对你的程序有任何影响

关于java - 解析 HTML 获取网页链接,有些链接显示一个 :80 in the URL. 这是为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8773702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com