문제
XMLDocument.Load (URI) 메소드를 사용하여 XML 문서를 기본적으로 읽는 코드가 약간 작동하지만 프록시를 통해 호출이 이루어지면 잘 작동하지 않습니다.
누군가가 대리를 통해이 전화를 걸거나 같은 효과를 얻는 방법을 알고 있는지 궁금하십니까?
해결책
프록시에 자격 증명을 제공해야합니까?
그렇다면 다음과 같은 도움이됩니다. "파일에서 읽을 때 xmlresolver에 인증 자격 증명을 제공"합니다.http://msdn.microsoft.com/en-us/library/aa720674.aspx
기본적으로, 당신은 ...
- URL을 사용하여 xmltextreader를 만듭니다
- 독자의 XMLRESOLVER의 자격 증명 속성을 설정하십시오
- 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 클래스를 사용해보십시오. 네트워크 자격 증명을 설정할 수 있습니다. 자세한 내용은 다음을 참조하십시오.
사용해야합니다 웹 프록시 WebRequest로 XML을 다운로드 한 다음 구문 분석하십시오.
제휴하지 않습니다 StackOverflow