Вы ищете что-то, что называется «сделай пока».
Из того, что я помню в python, нет такого ключевого слова "do", которое вы могли видеть на других языках.
Вот альтернатива:
while True:
# the code you already have
# set response = input
if response != "yes":
break
Apache HttpClient 4.1 "из коробки" поддерживает сжатие содержимого, а также многие другие функции, которые ранее считались выходящими за рамки.
Начиная с 4.1, Apache HttpClients обрабатывает сжатие запросов и ответов.
ResponseContentEncoding
api doc здесь . Просто используйте:
HttpClients.custom()
, который использует:
HttpClientBuilder.create()
Если вы хотите проверить в библиотеке Перейти к HttpClientBuilder
он использует RequestAcceptEncoding
& amp; ResponseContentEncoding
Вы можете отключить его с помощью «disableContentCompression ()»
HttpClient httpClient = HttpClients.custom()
.setConnectionManager(cm)
.disableContentCompression() //this disables compression
.build();
Пожалуйста, убедитесь, что если вы добавляете какой-либо перехватчик, он может это переопределить, используйте его осторожно.
HttpClient httpClient = HttpClients.custom()
.setConnectionManager(cm)
.setHttpProcessor(httpprocessor) //this interceptor can override your compression.
.build();
Он не поддерживает эту готовую версию и вряд ли будет добавлен в HttpClient 3.x (см. Довольно неприятную проблему с JIRA. здесь ). Однако вы можете сделать это, добавив пользовательские средства чтения запросов и ручную обработку потока запросов / ответов, расположенных поверх базовой библиотеки, но это неудобно.
Кажется, вы можете сделать это с помощью HttpClient 4, но не без некоторых усилий.
Довольно дрянной, если вы спросите меня, все это действительно должно быть проще, чем есть на самом деле.