2017-02-20 1 views
1

내가 도대체 ​​뭘 잘못하고있는 겁니까? https 일 수 없으므로 다른 https 사이트는 정상적으로 작동합니다.WebClient 또는 HttpWebRequest가있는 페이지를로드 할 수 없습니다. <code>WebClient</code> 또는 <code>HttpWebRequest</code> 중 무엇을 사용하는지에 관계없이이 페이지를로드하면 시간이 초과됩니다.

아래는 Firefox의 검사기에 표시되는 모든 헤더를 추가하는 최근 시도입니다.

흥미로운 한 가지 흥미로운 동작은 Fiddler가 실행 중일 때 모든 것이 제대로 작동하기 때문에 내가 Fiddler로이를 모니터링 할 수 없다는 것입니다.

Using client As WebClient = New WebClient() 
     client.Headers(HttpRequestHeader.Accept) = "text/html, image/png, image/jpeg, image/gif, */*;q=0.1" 
     client.Headers(HttpRequestHeader.UserAgent) = "Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12" 
     client.Headers(HttpRequestHeader.AcceptLanguage) = "en-US;en;q=0.5" 
     client.Headers(HttpRequestHeader.AcceptEncoding) = "gzip, deflate, br" 
     client.Headers(HttpRequestHeader.Referer) = "http://www.torontohydro.com/sites/electricsystem/Pages/foryourhome.aspx" 
     client.Headers("DNT") = "1" 
     client.Headers(HttpRequestHeader.KeepAlive) = "keep-alive" 
     client.Headers(HttpRequestHeader.Upgrade) = "1" 
     client.Headers(HttpRequestHeader.CacheControl) = "max-age=0" 

     Dim x = New Uri("https://css.torontohydro.com/") 
     Dim data as string = client.DownloadString(x) 
    End Using 

이 모든 것이 초과 코드입니다. 그것을 몇 줄로 끓게하면 같은 걸림이 생깁니다.

Using client as WebClient = New WebClient() 
     Dim data as string = client.DownloadString("https://css.torontohydro.com") 
    End Using 

는 그리고 이것은 또한 반응을 얻고 달려 간단히 말해서,에서 HttpWebRequest 코드입니다.

+0

왜 VB.Net 코드에 사과하십니까? – N0Alias

+0

그냥 html 페이지를 원하십니까? – Codexer

+0

죄송합니다. 농담을 잘못하려고했습니다. 사이트를 읽을 수있는 페이지가 몇 개 있지만 첫 번째 페이지도 읽을 수 없습니다. 사이트와 관련이있는 것 같습니다. 모든 헤더를 설정했는지 또는 마지막 두 줄만 사용했는지에 관계없이 동일한 시간 초과가 발생합니다. 또는'GET' 메소드로'HttpWebRequest'를 사용하면됩니다. – deanis

답변

0

그래서 결국 프로젝트가 여전히 .NET 3.5에 존재하기 때문에 종료되었습니다. .NET은 SSL을 사용하여 https 인 사이트를로드하려고 시도했습니다. 문제는이 라인을 고정 추가 :

ServicePointManager.SecurityProtocol = 3072 

내가 SecurityProtocolType.Tls12에 대한 정의를 포함하지 않는 3.5 이후 3072을 사용했다.

관련 문제