2012-10-06 30 views
5

URLConnection'da bir "tam" tanımlama bilgisi göndermenin doğru yolu nedir?URLConnection'da çerez nasıl gönderilir?

ben kullanıyorum:

URL url = new URL(page); 
URLConnection urlConn = url.openConnection(); 

urlConn.setRequestProperty("Cookie", myCookie); 

urlConn.setUseCaches(true); 

urlConn.connect(); 

MyCookie değer TestCookie = d1lEZk9rSHd3WnpBd2JkWGRhN1RYdz09OkEwQ21pSFJVZzBpVDhhUENaK3ZPV2c9PQ

Path, Domain göndermek için bir yolu var mı, ve onunla sona eriyor? Değeri bir şekilde kodlamak zorunda mısınız? muhtemelen yerine addRequestProperty yöntemi kullanabilirsiniz daha Birden fazla çerez kuruyorsanız

urlConn.setRequestProperty("Cookie", "user=mary17; domain=airtravelbargains.com; path=/autos"); 

: Yalnızca bir çerez ayarlarken eğer

cevap

3

Eh, ben gibi sadece yapabileceği sanırım.

Süre sonu özniteliği için şu biçimi kullandığınızdan emin olun: Hafta içi, GG-YG YY: AA: SS GMT.

Tek yasal saat dilimi GMT'dir ve tarih öğelerinin arasındaki ayraçlar tire olmalıdır.

12

This (currently accepted) answer yanlıştır - http istemcileri Birden çerez değerleri için ; ayırıcı kullanmak onun örnek aslında üç coookies gönderir böylece:

  • user=mary17
  • domain=airtravelbargains.com
  • path=/autos

Eğer bir ser hakkında konuşuyorsak ver yanıtı ve Set-Cookie başlığı, yanıt doğru olurdu, ancak değiliz - urlconnection sunucuya bağlanan istemciler içindir.

Domain, Expires, Path hakkında daha fazla bilgi için ne istediniz? Sorun şu ki, bu bilgiyi göndermek için anlamına gelmiyor. Yol, Etki Alanı ve Süresi Sonu, yalnızca istemciye yönelik talimatlar olduğu için tarayıcıya (veya başka bir HTTP istemcisine) gönderilmesi gereken yönergelerdir. Sadece geçerli cookie değerlerini sunucuya göndermekten ibaretsiniz, bu yüzden istediğin bilgiyi göndermenin bir yolu yoktur, çünkü bu bir anlam ifade etmeyecektir.

Tarayıcınızda sahip olduğunuz HTTP oturumlarına göz atarak bunu kendiniz görebilirsiniz. Tarayıcı sadece şu gibi şeyler gönderir:

Cookie: cookiename=value; anothercookie=othervalue; 

Olması gerektiği gibi. Tarayıcı tarafından gönderilen

Veya, Domain, Expires, Path (tarayıcıya gönderilen) Set-Cookie başlığının nitelikleridir içindekiler doğrudan görebilirsiniz RFC 6265, inceleyebilir, değil Cookie başlık (veya sunucuya diğer http istemcisi.