将查询字符串参数添加到 Web 客户端发出的所有请求中
本文关键字:请求 客户端 字符串 查询 参数 添加 Web | 更新日期: 2023-09-27 18:32:37
我已经扩展了WebClient
类并覆盖了GetWebRequest
方法。有没有办法在此方法中向我的所有请求添加查询字符串参数?
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
HttpWebRequest webRequest = request as HttpWebRequest;
if (webRequest != null)
{
}
}
我尝试修改address
但似乎没有帮助。而且webRequest.Address
没有二传手。
我尝试了您的示例,并且能够通过将新Uri
传递给base.GetWebRequest()
来修改GetWebRequest
方法中的地址:
public class CustomWebClient : WebClient
{
protected override WebRequest GetWebRequest(Uri address)
{
var newUrl = address.OriginalString;
if (newUrl.Contains("?"))
newUrl += "&";
else
newUrl += "?";
newUrl += "MyCustomParam=value";
return base.GetWebRequest(new Uri(newUrl));
}
}
然后,如果我调用new CustomWebClient().DownloadData("http://stackoverflow.com")
实际的网址(如小提琴手看到的)是 https://stackoverflow.com/?MyCustomParam=value