2010-04-01 18 views
9
URL url = new URL("http://www.example.com/comment"); 
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); 
connection.setDoOutput(true); 
connection.setRequestMethod("POST"); 

connection.setRequestProperty ve urloutputstream'e özel olarak yazmak aynı mıdır?

OutputStreamWriter writer = new OutputStreamWriter(connection.getOutputStream()); 
writer.write("key=" + value); 
writer.close(); 

aynı

connection.setRequestProperty(key, value); 

mi?

Değilse, lütfen beni düzeltin.

cevap

12

Hayır, öyle değil. URLConnection#setRequestProperty(), başlığı isteğini ayarlar. HTTP istekleri için tüm olası başlıkları here bulabilirsiniz.

writer sadece gövdesi ürününü yazar. Kodlanmış içeriğe sahip POST durumunda, normal olarak sorgu dizesini GET'daki gibi istek URI'sine eklemek yerine istek gövdesine yazarsınız. böylece connection.setRequestMethod("POST"); sonradan gereksiz yapıyor (dolaylı ardından istek vücuda yazmak için gerekli çünkü) sözü

, connection.setDoOutput(true); zaten örtülü bir HTTP URI durumunda POST için istek yöntemini ayarlar.

İlgili konular