我正在使用restsharp
对外部网站进行身份验证。之后,我得到了您的cookie。
我该如何在浏览器中进行设置以便保持登录状态?
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Basic XXJhbmRvbTpyYW5kb20=");
IRestResponse response = client.Execute(request);
var cookie = client.CookieContainer.GetCookieHeader(new Uri("http://www.example.com"));
也许C#中没有解决方案,我正在考虑通过ajax返回并尽可能处理Javascript。
答案 0 :(得分:0)
如果要制作后端软件,只需在响应中添加新的标头即可:
public void Test()
{
Response.Cookies.Append("ExampleCookie", "Cookie value!");
}
我并不是真的说你做不到,但是你真的不应该这样做。因为:
1)您需要查找cookie如何存储在文件中
2)您需要修改它们。结构可以在任何浏览器更新中更改。
3)它可以触发杀毒软件。如果您的应用程序试图从浏览器中窃取东西怎么办?
JavaScript只在您的页面上下文中执行,它可以访问内部API,因此,是的,在JS中执行起来要容易得多。
您可以使用embedded browser for WinForms或嵌入CefSharp浏览器(Chromium引擎)。
您可以轻松地修改这些浏览器的cookie(在您的应用程序上下文中运行)。