문제

XMLDocument.Load (URI) 메소드를 사용하여 XML 문서를 기본적으로 읽는 코드가 약간 작동하지만 프록시를 통해 호출이 이루어지면 잘 작동하지 않습니다.

누군가가 대리를 통해이 전화를 걸거나 같은 효과를 얻는 방법을 알고 있는지 궁금하십니까?

도움이 되었습니까?

해결책

프록시에 자격 증명을 제공해야합니까?

그렇다면 다음과 같은 도움이됩니다. "파일에서 읽을 때 xmlresolver에 인증 자격 증명을 제공"합니다.http://msdn.microsoft.com/en-us/library/aa720674.aspx

기본적으로, 당신은 ...

  1. URL을 사용하여 xmltextreader를 만듭니다
  2. 독자의 XMLRESOLVER의 자격 증명 속성을 설정하십시오
  3. xmldocument 인스턴스를 작성하고 리더를로드 메소드로 전달하십시오.

다른 팁

이것은 내가 사용한 코드입니다.

WebProxy wp = new WebProxy(Settings.Default.ProxyAddress);
wp.Credentials = new NetworkCredential(Settings.Default.ProxyUsername, Settings.Default.ProxyPassword);
WebClient wc = new WebClient();
wc.Proxy = wp;

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);
return XDocument.Load(rdr); 

Lomaxx의 답변을 사용하지만 변경하십시오

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(url);

에게

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);

프록시를 사용하도록 xmldocument를 구성 할 수 없습니다. webRequest 또는 WebClient 클래스를 사용하여 프록시를 통해 데이터를로드하고 XMLDocument에 대한 응답 스트림을 통해 데이터를로드 할 수 있습니다.

또한 XmlTexTreader 클래스를 사용해보십시오. 네트워크 자격 증명을 설정할 수 있습니다. 자세한 내용은 다음을 참조하십시오.

파일에서 읽을 때 xmlresolver에 인증 자격 증명 제공

사용해야합니다 웹 프록시 WebRequest로 XML을 다운로드 한 다음 구문 분석하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top