【发布时间】:2025-12-20 13:15:10
【问题描述】:
此代码有效:
var source = "https://jade.io/xml/au-qld-dc.xml";
var client = new RestClient(source);
var request = new RestRequest(Method.GET);
IRestResponse resp = client.Execute(request);
Console.WriteLine(resp.Content);
xml 被检索并显示在控制台中。 但是这段代码不起作用:
HttpWebRequest httpsRequest = (HttpWebRequest) WebRequest.Create(source);
httpsRequest.Method = "GET";
var response = httpsRequest.GetResponse();
它会引发 403(禁止)错误...
我想知道为什么它不起作用,因为我有一些使用 WebRequest 的遗留代码,并且在用 RestClient 替换所有代码之前,如果有一个简单的修复...
【问题讨论】:
-
例如,我认为
RestClient会添加默认的User-Agent头,而HttpWebRequest不会。 -
您可以使用网络嗅探器(例如 Wireshark 或 Fiddler)来检查两个 http 调用之间的差异。用它来纠正问题。
标签: c# webrequest