0
我希望能夠修改C#HttpWebRequest對象的RequestUri中包含的url。 我想追加一個附加參數與票證ID。 [like & ticket = xyz123]將參數添加到C#HttpWebRequest
聽起來像這樣做可能無法做到這一點,因爲RequestUri是隻讀的。有些人建議使用反射來解決它,但其他人則說,即使使用反射也不行。
有沒有其他方法可以解決這個問題?
我可以使用HttpWebRequest CookieContainer來包含票證信息 - 雖然票證不在cookie中,但需要一個特殊的服務調用來檢索票據字符串。
我想如下重寫的驗證方法:
protected override void HttpAuthenticate(HttpWebRequest request)
{
Uri uri = request.RequestUri;
Uri newUrl = new Uri(AuthData.appendTicket(uri.ToString()));
request.RequestUri = newUrl; // Cannot do this because it is readonly
我只是想重寫這一個方法來改變認證機制。標準基本身份驗證設置HttpWebRequest的憑證。相反,我希望能夠添加票據信息 - 通常作爲URL上的附加參數傳遞。 –
我明白這個願望,但它不起作用。您可以更改參數以通過ref傳遞,然後在方法中更改輸入的HttpWebRequest以獲取新的HttpWebRequest。 HttpWebRequest這種構建方式的主要原因可能是阻止您在創建對象之後交換一個http URL,例如ftp或文件URL。 –