我有一个需要从需要登录的站点下载的文件列表。除非设置了适当的 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