簡體   English   中英

如何從WPF應用程序向默認瀏覽器發送Web請求?

[英]How to send a webrequest to default browser from WPF application?

我正在使用WPF應用程序,該應用程序是網站的桌面對應部分。

想法是該應用程序應具有與網站相同的功能,但是對於該應用程序的第一個版本,並非所有功能都可用,因此,我希望在尚不可用的功能上添加一個鏈接當用戶單擊該鏈接時,我想將其帶到該網站的功能頁面。

到目前為止,我可以毫不費力地執行此操作,使用shell命令可以打開默認瀏覽器並將請求發送到網站上所需的資源。

現在,最棘手的部分是我想使用用戶在桌面應用程序中使用的憑據對網站進行身份驗證,因此用戶不必再次進行身份驗證,我當時在考慮將加密的憑據發送到標頭中,但是我不知道該怎么辦,如何將標頭從應用程序發送到Web瀏覽器。

關於如何執行此操作的任何想法?

順便說一句,該網站正在使用表單身份驗證。

謝謝。

您可以嘗試將表單身份驗證Cookie傳遞為webrequest的一部分。

Uri uri = new Uri("http://services.mysite.com/document/documentservice.svc");
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);       

HttpCookie cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];
Cookie authenticationCookie = new Cookie(FormsAuthentication.FormsCookieName, cookie.Value, cookie.Path, HttpContext.Current.Request.Url.Authority);

webRequest.CookieContainer = new CookieContainer();
webRequest.CookieContainer.Add(authenticationCookie);
WebResponse myResponse = webRequest.GetResponse();
Stream stream = myResponse.GetResponseStream();

試試這個鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM