Bạn sẽ có thể PInvoke InternetGetCookie
.
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
protected static extern bool InternetGetCookie(
string url,
string name,
StringBuilder cookieData,
ref int length);
Sau đó, bạn có thể gọi InternetGetCookie
như dưới đây giả sử bạn đang sử dụng Rest Starter Kit.
StringBuilder cookieBuffer = new StringBuilder(1024);
int size = 1024;
bool bSuccess = InternetGetCookie("domain uri", "cookie_name", cookieBuffer, ref size);
if (!bSuccess)
{
Int32 err = Marshal.GetLastWin32Error();
//log err
}
if (cookieBuffer != null && (cookieBuffer.Length > 0))
{
Microsoft.Http.Headers.Cookie cookie = Microsoft.Http.Headers.Cookie.Parse(cookieBuffer.ToString());
HeaderValues<Microsoft.Http.Headers.Cookie> requestCookies = new HeaderValues<Microsoft.Http.Headers.Cookie>();
requestCookies.Add(cookie);
}
Nguồn
2010-07-28 22:31:43
Điểm tốt. OP, có lý do nào khiến bạn phải lưu trữ giá trị trên máy khách không? Điều gì về việc lưu trữ các giá trị trên máy chủ và có ứng dụng khách hàng kéo nó xuống thông qua một dịch vụ? Esp nếu ứng dụng khách không có nhu cầu thực sự cho điều khiển WebBrowser. –
Tôi cần ứng dụng của mình thực hiện một hành động nhất định khi một liên kết đã được nhấp vào trong trang web của tôi. Vì vậy, tôi nghĩ cách tốt nhất để làm điều này là cho ứng dụng xem cookie và cho trang web lưu trữ cookie khi liên kết bị mã hóa. Có cách nào tốt hơn? – Glory