[英]Adding a querystring parameter to all request made by a WebClient
我擴展了WebClient
類並重寫了GetWebRequest
方法。 有什么方法可以在此方法中向我的所有請求添加querystring參數?
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.