Я написал java-клиент, который без проблем запускает HTTP-запросы GET. Теперь я хочу изменить этот клиент, чтобыКак выполнить запрос https GET из java
import org.apache.http.HttpHost;
import org.apache.http.auth.AuthScope;
import org.apache.http.auth.UsernamePasswordCredentials;
import org.apache.http.client.CredentialsProvider;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicCredentialsProvider;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
private String executeGet(final String url, String proxy, int port)
throws IOException, RequestUnsuccesfulException, InvalidParameterException {
CloseableHttpClient httpclient = null;
String ret = "";
RequestConfig config;
try {
String hostname = extractHostname(url);
logger.info("Hostname {}", hostname);
HttpHost target = new HttpHost(hostname, 80, null);
HttpHost myProxy = new HttpHost(proxy, port, "http");
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
AuthScope.ANY,
new UsernamePasswordCredentials(USERNAME, PASSWORD));
httpclient = HttpClients.custom().setDefaultCredentialsProvider(credsProvider).build();
config = RequestConfig.custom().setProxy(myProxy).build();
HttpGet request = new HttpGet(url);
request.setConfig(config);
CloseableHttpResponse response = httpclient.execute(target, request);
...
Теперь я должен послать https
GET запросы вместо https
. Я ожидал простой модификации, например, HttpsGet
вместо HttpGet
, но нет, нет HttpsGet
класс.
Что является самым простым способом изменить этот метод для обработки запросов https
.
Можете ли вы уточнить Метод getContent относится к классу, когда я получал ошибку. –
URL.getContent() - это ярлык для openConnection(). GetContent(), поэтому нам нужно посмотреть документацию для URLConnection.getContent() – Luixv