Отправить HTTP-запрос GET с заголовком

Из моего Android-приложения я хочу запросить URL-адрес с параметрами GET и прочитать ответ. В запросе я должен добавить заголовок x-zip .

URL-адрес

 http://example.com/getmethod.aspx?id=111&method=Test 

Может ли кто-нибудь предоставить мне код для этого?

Важны две вещи: это запрос GET и содержит заголовок x-zip .

РЕДАКТИРОВАТЬ:

 try { HttpClient client = new DefaultHttpClient(); String getURL = "http://example.com/getmethod.aspx?id=111&method=Test"; HttpGet get = new HttpGet(getURL); get.setHeader("Content-Type", "application/x-zip"); HttpResponse responseGet = client.execute(get); HttpEntity resEntityGet = responseGet.getEntity(); if (resEntityGet != null) { //do something with the response Log.i("GET ",EntityUtils.toString(resEntityGet)); } } catch (Exception e) { e.printStackTrace(); } 

Я пытаюсь с этим кодом, но я получаю код с ошибкой .net: Object reference not set to an instance of an object... Я думаю, но я не уверен, что это, если для заголовка x-zip , есть заголовок в моем коде, нормально?

Вот fragment кода, который мы используем в нашем приложении для установки заголовков запросов. Вы заметите, что мы устанавливаем заголовок CONTENT_TYPE только на POST или PUT, но общий метод добавления заголовков (через перехватчик запросов) также используется для GET.

 /** * HTTP request types */ public static final int POST_TYPE = 1; public static final int GET_TYPE = 2; public static final int PUT_TYPE = 3; public static final int DELETE_TYPE = 4; /** * HTTP request header constants */ public static final String CONTENT_TYPE = "Content-Type"; public static final String ACCEPT_ENCODING = "Accept-Encoding"; public static final String CONTENT_ENCODING = "Content-Encoding"; public static final String ENCODING_GZIP = "gzip"; public static final String MIME_FORM_ENCODED = "application/x-www-form-urlencoded"; public static final String MIME_TEXT_PLAIN = "text/plain"; private InputStream performRequest(final String contentType, final String url, final String user, final String pass, final Map headers, final Map params, final int requestType) throws IOException { DefaultHttpClient client = HTTPClientFactory.newClient(); client.getParams().setParameter(HttpProtocolParams.USER_AGENT, mUserAgent); // add user and pass to client credentials if present if ((user != null) && (pass != null)) { client.getCredentialsProvider().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(user, pass)); } // process headers using request interceptor final Map sendHeaders = new HashMap(); if ((headers != null) && (headers.size() > 0)) { sendHeaders.putAll(headers); } if (requestType == HTTPRequestHelper.POST_TYPE || requestType == HTTPRequestHelper.PUT_TYPE ) { sendHeaders.put(HTTPRequestHelper.CONTENT_TYPE, contentType); } // request gzip encoding for response sendHeaders.put(HTTPRequestHelper.ACCEPT_ENCODING, HTTPRequestHelper.ENCODING_GZIP); if (sendHeaders.size() > 0) { client.addRequestInterceptor(new HttpRequestInterceptor() { public void process(final HttpRequest request, final HttpContext context) throws HttpException, IOException { for (String key : sendHeaders.keySet()) { if (!request.containsHeader(key)) { request.addHeader(key, sendHeaders.get(key)); } } } }); } //.... code omitted ....// } 

Вы делаете это точно так же, как вы показали эту строку:

 get.setHeader("Content-Type", "application/x-zip"); 

Таким образом, ваш заголовок прекрасен, и проблема заключается в некотором другом вводе веб-службы. Вы захотите отладить это на стороне сервера.

  • Android: как отображать предварительный просмотр камеры с помощью обратного вызова?
  • «Переопределить метод суперclassа» Ошибки после импорта проекта в Eclipse
  • Google firebase проверяет, существует ли ребенок
  • Измените .txt-файл в Java
  • Как анализировать XML с помощью анализатора SAX
  • Различия в виджетах для Android
  • Создайте новый TextView программно, затем отобразите его под другим TextView
  • Как отключить SSLv3 в android для HttpsUrlConnection?
  • Что такое обратный вызов в java
  • Ошибка вызывает виртуальный метод 'double android.location.Location.getLatitude ()' в ссылке на нулевой объект
  • добавление ресурсов в intellij для проекта java
  • Давайте будем гением компьютера.