ログインが必要なサイトからダウンロードする必要があるファイルのリストがあります。適切な HttpRequestHeader.Cookie が設定されていない限り、ファイルはダウンロードされません。
手動でサイトにログインし、フィドラーを介してヘッダーを取得し、これらを Cookie スロットに渡すと、ファイルがダウンロードされます。私がやろうとしているのは、(Telerik テスト フレームワークを使用して) サイトに移動し、ログインして、ダウンロードする必要がある URL を読み取り、WebClient.DownloadFile を呼び出すことです。
Telerik を介してファイルをダウンロードしようとしましたが、ジョブを Windows Server に展開すると問題が発生しました。
多くのグーグル検索の後、URL を収集しているページに移動した後、Telerik を介して HttpRequestHeaders をプルする方法がまだわかりません。これらは、ファイルをダウンロードするために WebClient に渡す必要がある正しい値である必要があります。 .
誰かが私を正しい方向に向けたり、代替案を提供したりできますか?
前もって感謝します。
Using client
client.Credentials = New NetworkCredential("user", "pass")
client.Headers.Add(System.Net.HttpRequestHeader.Accept, "*/*")
client.Headers.Add(System.Net.HttpRequestHeader.AcceptEncoding, "gzip, deflate")
client.Headers.Add(System.Net.HttpRequestHeader.AcceptLanguage, "en-US")
client.Headers.Add(System.Net.HttpRequestHeader.UserAgent, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)")
client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "WLP-COOKIE1=r1593517685; JSESSIONID=Sz6G1lpvwhGB6FmqN6ySPbtf2cK2fs09hTtsX2sqcSwtLL7rKzpy!-1832769242; iPlanetDirectoryPro=AQIC5wM2LY4SfczHcm5%2FeHFKpWlxpQ71jtwzwJ75uHryjzA%3D%40AAJTSQACMTAAAlMxAAIwMQ%3D%3D%23; MMISPRODPOSCsource=AQIC5wM2LY4SfczHcm5%2FeHFKpWlxpQ71jtwzwJ75uHryjzA%3D%40AAJTSQACMTAAAlMxAAIwMQ%3D%3D%23")
client.Headers.Add(System.Net.HttpRequestHeader.Referer, "https://mysite.com")
client.DownloadFile(url, file)
End Using