tôi có chức năng này để truy xuất các tập tin cookie phản ứng trong một CookieContainer (this.cookies)
private void getCookies(string url)
{
// request
HttpWebRequest request = CreateWebRequestObject(url);
request.CookieContainer = this.cookies;
request.Headers.Add("Accept-Encoding", "gzip, deflate");
request.Headers.Add("Accept-Language", " es-MX,es;q=0.8,en-us;q=0.5,en;q=0.3");
request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Method = "GET";
request.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";
// response
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
foreach (Cookie c in response.Cookies)
{
this.cookies.Add(new Cookie(c.Name, c.Value, c.Path, c.Domain));
}
}
}
Nhưng, khi tôi gỡ lỗi các yêu cầu trong Fiddler, tôi có được điều này:
Tại sao có "$" trong cookie?
Theo MSDN
Cookie công cộng (string name, chuỗi giá trị, con đường string, string miền)
tên Loại: System.String Tên của một Cookie. Các ký tự sau không được sử dụng bên trong tên: dấu bằng, dấu chấm phẩy, dấu phẩy, dòng mới (\ n), tab trả về (\ r), (\ t) và ký tự khoảng trắng. Ký tự dấu đô la ("$") không thể là ký tự đầu tiên.
Tôi làm cách nào để xóa ký tự này?
Mọi thứ có bị hỏng không? Bạn đang gặp vấn đề? – asawyer
Tôi muốn thay thế $ Domain sang Domain và như vậy – auraham
Nếu bạn thay đổi cookie đã nhận, bạn có thể tạo đúng yêu cầu mới dựa trên các cookie này không? –