2010-09-06 4 views

ответ

22

Предполагая, что вы хотите использовать HttpURLConnection, для выполнения HTTP PUT вы используете следующее:

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(); 

Чтобы использовать класс HTTPPut попробуйте:

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); 

Я уверен, что это должен работать, хотя я его не тестировал :)

+0

thx много, не могли бы вы дать мне пример класса HttpPut ^^?? – peterlawn

+0

Я думаю, что это правильно, вот как вы делаете POST, я никогда на самом деле не был ried PUT до – BeRecursive

+0

является setEntity, используемым для передачи данных? Как в out.write (...) в первом примере? Если да, как мне передать простую строку? – Codevalley

Смежные вопросы