2008-11-15 30 views
6

Ben HttpWebRequest/HttpWebResponse ve çerez/CookieContainer/CookieCollection ile sorun yaşıyorum. Web sunucusu çerezinde bir "yol" kullanmak/etmezse şey olduğunu Cookie.Path "/" yerine istek URI'sına yolu-kısmını eşittir ya da benim uygulamada boş olmak. Bu nedenle, bu tanımlama bilgileri, tam olarak doğru web tarayıcılarında yaptığı tüm etki alanı için çalışmaz. Bu sorunu nasıl çözebilirim?HttpWebRequest/HttpWebResponse ile ilgili sorunlar ve kurabiyeler

Şimdiden teşekkürler

cevap

4

Ah, ne demek istediğini anlıyorum. Genellikle neyi gerçekten yapmak yolu olarak belgeyi içeren klasörü almak olduğunu tarayıcıları; log /login.php ’için‘/’olacaktır, dolayısıyla tüm etki alanı boyunca etkili bir şekilde çalışır. Po /potato/login.php ’, potato/parola /’ ile sınırlı olacaktır; Takip eden yol bilgisi parçaları (örn. log /login.php/ ’) ile herhangi bir şey işe yaramaz.

Bu durumda Netscape Spec ... Geçerli doküman yoluna o yolun varsayılan iddia Orada ‘yol’ okumak nasıl tam bağlı yanlış ya da en azından yanıltıcı düşünülebilir. Ancak tarayıcı davranışı, orijinal Netscape sürümüne kadar tutarlı. Netscape .NET HttpWebRequest gerçekten geçerli belgenin tüm yoluna CookieContainer.Path varsaymak ise, bunun hakkında hata bildiriminde ediyorum

... yazı özellikleri o kadar iyi idi asla.

Maalesef gerçek dünyadaki davranış şu anda bir standart dokümanda tarif edilmiyor ... yolun işini doğru yapan RFC 2965 var, ama gerçek tarayıcı tarayıcı davranışını temsil etmeyen başka değişiklikler var. Bu da tamamen güvenilir değil. :-(

0

Çerezlerin çalışma şekli budur. Başlangıçta eski Netscape kurabiye doc belirtilen ‘Uygun’ web tarayıcıları, tam olarak aynı şeyi: http://cgi.netscape.com/newsref/std/cookie_spec.html

Web uygulamaları etkin bir daima (genellikle ‘/’) bir ‘yol’ ayarlamalısınız.

+0

Teşekkür ederim bobince. Anlıyorum, ama "yol" set olmadığı bahsettiği bu web sitesi, bir şekilde yine en az Internet Explorer ve Firefox'ta tüm etki genelinde çalışmıyor gibi görünüyor, çünkü bu, bana biraz garip. Herhangi bir fikrin var mı? – James

1

Varsayılan tanımlama bilgisi işleyicisi ile daha fazla devam edemem gibi görünüyor, bu yüzden rahatsız oldum ve bunu zor yoldan yaptım Haha. Ayrıştırma yanıtı.Kullanıcılar ["Set-Cookie"] kendim benim çözümüm Benim tercihim değil ama işe yarıyor.Ve ben normal ifadeleri kullanarak yanlış virgülle bölme problemini ortadan kaldırmış oldum

Burada bir puan verebilseydim, size bir miktar verirdim, bobince, Ben değerli bilgiler.Ayrıca eğer (eğer daha yüksek rep puan gerekir) oy, ama bu davranış muhtemelen bir böcek, çünkü bahsettiğim gibi, ben bir cevap olarak kabul edeceğim.Önemli bir cevap olarak kabul edeceğim.

Teşekkür ederim. :)

+0

Hatayı tespit ettiğiniz için ve onu googlable yaptığınız için teşekkür ederiz! :-) – bobince