2008-12-01 14 views
18

Kodum gibidir aşağıdadır:Başlıkları bir URLConnection'a yerleştirmenin uygun yolu nedir?

URLConnection cnx = address.openConnection(); 
cnx.setAllowUserInteraction(false);   
cnx.setDoOutput(true); 
cnx.addRequestProperty("User-Agent", 
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"); 
InputStream is = cnx.getInputStream(); 

Ben InputStream geçmedenseni başlıklarını ayarlarsanız Tamam mı? Başlığım gönderilecek veya sunucu varsayılan URLConnection kullanıcı aracısını (varsa) görecek mi? bağlantı zaten açıksa bir IllegalStateException atılacaktır -

cevap

20

başlıkları öncesinde herhangi bir etkisi için InputStream almak için ayarlanmalıdır.

Özellikle User-Agent başlığına gelince, ayarlanmışsa gönderilmelidir.

URLConnection JavaDoc'a bakın.

+1

Bu bağlantı bozuk. – Fabii

4

Soruyu yanıtlamak için kod doğru. GetInputStream() anı, hedef sunucuya bir HTTP getiri gönderilir. Bunu ayarlamak yoksa

kullanıcı aracısı üzerine bir yan not, URLConnection olan varsayılan zaten biri gönderecektir:

User-Agent: Java/1.6.0_24 (varies depending on your java version) 
-2
ben düşük seviyeli yapıları böyle kullanmanızı tavsiye etmiyoruz

URLConnection olarak. En çok Apache HTTP Client olan HTTP istekleri göndermek için çok sayıda kütüphane vardır.

+0

(yorum olmalı, soruya cevap vermiyor) – BadZen

+0

Apache HTTP İstemcisi Android Çerçevesinde önerilmez ve kullanımdan kaldırılmıştır. Google, HttpURLConnection kullanımını teşvik eder. – afollestad