gpt4 book ai didi

c# - 从 winform c# 在浏览器上获取 cookie

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:50 28 4
gpt4 key购买 nike

我正在构建一个应用程序,在用户登录我的网站后,该应用程序会转到一个链接以获取他的用户名,以便我可以在该应用程序上识别他。

现在,如果我作为用户从浏览器登录,然后将类似的内容粘贴到该浏览器上,我将获得一个包含我的用户名的页面,但如果我从代码发出 Web 请求,我将得到一个空页面。

我的问题是如何在浏览器中打开 url 或者如何在特定浏览器上获取 cookie 的值

我试过了

string s= GetHtmlPage("http://www.somedomain.com/account/show_cookies.php","Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)");

static string GetHtmlPage(string strURL,string browser)
{
String strResult;
System.Net.WebResponse objResponse;

System.Net.WebRequest objRequest = System.Net.HttpWebRequest.Create(strURL);
((System.Net.HttpWebRequest)objRequest).UserAgent =browser;
objResponse = objRequest.GetResponse();
using (System.IO.StreamReader sr = new System.IO.StreamReader(objResponse.GetResponseStream()))
{
strResult = sr.ReadToEnd();
sr.Close();
}
return strResult;
}

但这也会返回一个空白页。

最佳答案

您需要使用 HttpClientCookieContainer

CookieContainer cookies = new CookieContainer();
HttpClientHandler handler = new HttpClientHandler();
handler.CookieContainer = cookies;

HttpClient client = new HttpClient(handler);
HttpResponseMessage response = client.GetAsync("http://google.com").Result;

Uri uri = new Uri("http://google.com");
IEnumerable<Cookie> responseCookies = cookies.GetCookies(uri).Cast<Cookie>();
foreach (Cookie cookie in responseCookies)
Console.WriteLine(cookie.Name + ": " + cookie.Value);

Console.ReadLine();

关于c# - 从 winform c# 在浏览器上获取 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17096932/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com