HtmlAgilityPack.HtmlDocument의 일부 노드에서 이미지 절대 URL 가져 오기

c# html html-agility-pack redirect relative-url

문제

인터넷에서 일부 웹 페이지를 가져오고 C #에서 HtmlAgilityPack을 사용하여 페이지의 일부 이미지의 절대 URL을 가져 오십시오.

문제는...

웹 사이트는 먼저 URL을 다른 URL로 리디렉션 한 다음 <img> 태그의 src 속성은 관련 URL 입니다.


현재, 다음과 같은 코드가 있습니다.

using HtmlAgilityPack;

HtmlDocument webpageDocument = new HtmlWeb().Load("http://xyz.example.com/");
HtmlNodeCollection nodes = webpageDocument.DocumentNode.SelectNodes("//img");
String url = nodes[0].Attributes["src"].Value.ToString();

위의 코드는 주어진 예제 URL에서 웹 페이지를 가져 와서 DOM 트리에서 일부 <img> 요소를 가져 와서 src 속성을 가져옵니다.

<img> 에 절대 URL이있는 경우 작동합니다. 그러나 불행히도 내가 처리하고자하는 웹 사이트는 관련 URI (예 : /img/01.png )를 제공합니다. 이미지에 대해 더 많은 옵션을 제공 할 수 있도록 절대 URL이 필요합니다.

그래서, 주어진 src 대한 기본 URL 이 무엇인지 알 필요가 있지만 실패했습니다. 또는 다른 말로하면 리디렉션 후 웹 페이지의 위치 를 얻는 방법을 모르겠습니다.


서버 쪽은 내 것이 아닙니다 (나는 그것에 대한 통제권이 없습니다).

인기 답변

ResponseUri를 고려하고 두 번째 호출이 발생하지 않도록하려면 html 민첩성 분석기에 페이지 내용으로 문자열을 대신 전달하십시오.



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.