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

Czyconnection.setRequestProperty i excplicitly pisanie do urloutputstream są takie same?

connection.setRequestProperty(key, value); 

taka sama jak

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

?

Jeśli nie, popraw mnie.

Odpowiedz

12

Nie, nie jest. URLConnection#setRequestProperty() ustawia żądanie nagłówek. W przypadku żądań HTTP można znaleźć wszystkie możliwe nagłówki: here.

Po wpisaniu żądaniaciało . W przypadku wartości POST z zawartością zakodowaną wenflon zazwyczaj zapisuje się ciąg zapytania w treści żądania zamiast dołączać go do identyfikatora URI żądania, tak jak w przypadku GET.

Powiedział, connection.setDoOutput(true); już domyślnie ustawia metody żądania do POST w przypadku HTTP URI (bo to w sposób dorozumiany obowiązek napisać do treści żądania wtedy), więc robi connection.setRequestMethod("POST"); potem jest niepotrzebna.

Powiązane problemy