2012-02-29 40 views
7

ben Fiddler'da isteği hata ayıklama, bu alın, bir CookieContainer (this.cookies) yanıt çerezleri Getirme için bu işlevi

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)); 


    } 
    } 
} 

var Ama:

enter image description here

Çerezlerde neden "$" var?

MSDN

kamu Cookie (dize adı, dize değeri, dize yolu, dize domain)

adı Tip göre: bir tanımlama ismi System.String. Aşağıdaki karakterler ad içinde kullanılmamalıdır: eşittir işareti, noktalı virgül, virgül, yeni satır (\ n), dönüş (\ r), sekmesi (\ t) ve boşluk karakteri. ("$") dolar işareti karakteri, ilk karakter olamaz.

Bu karakteri nasıl kaldırabilirim?

+0

İşler bozuldu mu? Sorunlarınız mı var? – asawyer

+0

$ Domain’i Domain’e değiştirmek istiyorum ve bu yüzden – auraham

+0

Alınan çerezleri değiştirirseniz, bu çerezleri temel alarak doğru bir şekilde yeni bir istek oluşturabilir misiniz? –

cevap

6

Gördüğünüz $ çerezin adı değil; Bir çerezle ilişkili özniteliği'dur. HTTP durum yönetimi ile ilgilenen

RFC 2109; Bölüm 4.4 özellikle dolar işareti önekiyle ilgilenir. Umarım bu yardımcı olur ...