大约一年前,我制作了一个工具来自动更新我们过时的戴尔BIOS文件,但今天它突然停止工作。我在手动上网时使用了Dell网站调用的REST API。
这是我发送的请求,下面添加了标题:
GET http://www.dell.com/support/home/be/nl/bebsdt1/drivers/driverslist/platfromdriver?productCode=latitude-15-5580-laptop&osCode=WT64A
X-Requested-With: XMLHttpRequest
奇怪的是,当它与HttpRequester(对于firefox)这样的请求操纵器一起使用时,它仍然有效。我确定没有发送像UserAgent这样的其他标头。
C#中的代码(有一个型号):
WebClient wc = new WebClient();
wc.Headers.Add("X-Requested-With: XMLHttpRequest");
wc.QueryString.Add("name", "5580");
wc.DownloadStringCompleted += Wc_DownloadStringCompleted;
wc.DownloadStringAsync(new Uri("http://www.dell.com/support/home/be/nl/bebsdt1/drivers/driverslist/platfromdriver?productCode=latitude-15-5580-laptop&osCode=WT64A"));
我是否使用Async进行了测试,但对于这个问题,它并没有什么不同。超时将作为错误返回。
任何人都可以帮助我吗?
答案 0 :(得分:0)
使用它。
WebClient wc = new WebClient();
wc.Headers.Add("X-Requested-With","XMLHttpRequest");
wc.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8");
wc.Headers.Add("Accept-Language", "en-US,en;q=0.9");
var response = wc.DownloadString("https://www.dell.com/support/home/in/en/inbsdt1/drivers/driverslist/platfromdriver?productCode=latitude-15-5580-laptop&osCode=WT64A&name=5580");
Console.WriteLine(response);