Я использую JTidy для разбора HTML-страниц для извлечения ссылок на страницы. Я тестировал его на нескольких веб-страницах, один из них был www.support.xbox.com. Некоторые ссылки показывают: 80 в URL, например.Разбор HTML для получения веб-ссылок, некоторые ссылки показывают: 80 в URL. Почему это?
http://support.xbox.com:80/en-US/xbox-360/disc-drive/disc-replacement-program http://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;
}
}
** 80 ** - номер порта для ** http ** протокола так же, как ** 443 ** для ** https ** –
Но почему он будет отображаться для ссылок на этом сайте и других сайтах? – Peck3277
Сам сайт содержит такие «: 80» (по любой причине) в URL-адресах в этом случае. Элементы ссылок обрабатываются буквально, так что ни один указатель порта не добавляется и не удаляется, поэтому спросите владельцев сайтов. И почему это помечено «jtidy»? –