Java Http-запрос с API Apache на api.клиент StackExchange
Я пытаюсь выполнить http-запрос на Java с помощью Api Apache (httpcomponents) на api.клиент StackExchange. Но этот запрос возвращает текст, а не HTML.
Вот мой код:
public class HttpRequestBrute {
public static void main(String[] args) throws Exception {
URIBuilder builder = new URIBuilder();
builder.setScheme("http").setHost("api.stackexchange.com").setPath("/2.0/search")
.setParameter("site", "stackoverflow")
.setParameter("intitle" ,"workaround")
.setParameter("tagged","javascript");
URI uri = builder.build();
HttpClient httpclient = new DefaultHttpClient();
try {
HttpGet httpget1 = new HttpGet(uri);
System.out.println("executing request " + httpget1.getURI());
// Create a response handler
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httpget1, responseHandler);
System.out.println("----------------------------------------");
System.out.println(responseBody);
System.out.println("----------------------------------------");
} finally {
httpclient.getConnectionManager().shutdown();
}
}
}
Это, кажется, есть ошибка в возвращаемом значении json в строке 1 столбца 19.
Исключение в потоке" main " com.гугл.гсон.JsonSyntaxException: Ява.яз..IllegalStateException: ожидаемый BEGIN_OBJECT, но был строкой в строке 1 столбца 19
У вопроса есть решение - Посмотреть?

Ответы от API StackExchange все в формате JSON, он не возвращает HTML.
Источник
Ответы - Java Http-запрос с API Apache на api.клиент StackExchange / Java Http request with API Apache on api.stackexchange
Является ответом!

04.06.2012 04:28:18
Ответ, который вы получаете (после удара http://api.stackexchange.com/2.0/search?site=stackoverflow&intitle=workaround&tagged=javascript)
Это не простой текст. Это ответ JSON. Вам понадобится парсер Java JSON, такой как google-gjson, чтобы разобрать это.

Спасибо, это решает часть моей проблемы. Но то, что я получаю, не разбирается, это просто последовательность специальных символов.

Можете ли вы опубликовать данные, которые вы получаете ?

Вы решили эту проблему с особым характером ? Просто любопытно узнать.

Нет, но проблема у меня теперь другая, поэтому я установил сообщения для разрешения и сделал еще один пост.

Я нашел проблему, на самом деле ответ http был сжат с помощью алгоритма deflate. Спасибо за вашу помощь.

о ! И он может быть просмотрен в браузере, потому что браузер автоматически сдувает содержимое на основе заголовков. Спасибо за информацию.
Помочь в развитии проекта: