Android HTTP PUT Запрос - PullRequest
       7

Android HTTP PUT Запрос

10 голосов
/ 06 сентября 2010

Может ли кто-нибудь дать мне HTTP PUT пример кода запроса для Android?

Ответы [ 2 ]

24 голосов
/ 06 сентября 2010

Предполагая, что вы хотите использовать 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);

I'mпочти уверен, что это должно работать, хотя я не проверял это:)

0 голосов
/ 18 октября 2018

Лучше использовать библиотеку типа Android Async HTTP или Volley, которая устраняет сложность работы в сети и упрощает обработку ответов на запросы.Вот как вы могли бы сделать это с AsyncHTTP:

AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("some_key", "value-1");
params.put("another_key", "value-2");

client.put(url, params, new AsyncHttpResponseHandler {
  public void onSuccess(int statusCode, Header[] headers, String response) {
    // Do something with response
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...