2010-09-06 17 views

Odpowiedz

22

Zakładając chcesz użyć HttpURLConnection, aby wykonać HTTP PUT użyć następujących:

URL url = new URL("http://www.example.com/resource"); 
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); 
httpCon.setDoOutput(true); 
httpCon.setRequestMethod("PUT"); 
OutputStreamWriter out = new OutputStreamWriter(
    httpCon.getOutputStream()); 
out.write("Data you want to put"); 
out.close(); 

Aby użyć klasy HTTPPut następnie spróbuj:

URL url = new URL("http://www.example.com/resource"); 
HttpClient client = new DefaultHttpClient(); 
HttpPut put= new HttpPut(url); 

List<NameValuePair> pairs = new ArrayList<NameValuePair>(); 
pairs.add(new BasicNameValuePair("key1", "value1")); 
pairs.add(new BasicNameValuePair("key2", "value2")); 
put.setEntity(new UrlEncodedFormEntity(pairs)); 

HttpResponse response = client.execute(put); 

Jestem całkiem pewien, że to powinien działać, ale go nie testowałem :)

+0

thx dużo, czy mógłbyś dać mi przykład klasy HttpPut ^^ "? – peterlawn

+0

Myślę, że to prawda, tak robisz POST, nigdy nie t rut a PUT przed – BeRecursive

+0

to setEntity używane do przekazywania danych? Jak w out.write (...) w pierwszym przykładzie? Jeśli tak, w jaki sposób mogę przekazać do niego prosty ciąg? – Codevalley

Powiązane problemy