gpt4 book ai didi

java - Http Get 请求使用 HttpClient 4.5

转载 作者:太空宇宙 更新时间:2023-11-03 14:53:39 26 4
gpt4 key购买 nike

我正在尝试更新使用 HttpClient 4.5 的代码,使其没有弃用的方法,但完全不可能找到解决方案,我完全迷路了。

这是我的代码:

public int sendGetHTTP() throws QAException, IOException {
HttpResponse httpResponse = null;
try {
DefaultHttpClient client = new DefaultHttpClient();
InputStream is = new FileInputStream("my");

CertificateFactory cf = CertificateFactory.getInstance("X.509");
X509Certificate caCert = (X509Certificate)cf.generateCertificate(is);

TrustManagerFactory tmf = TrustManagerFactory
.getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
ks.load(null);
ks.setCertificateEntry("cert", caCert);

tmf.init(ks);

SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, tmf.getTrustManagers(), null);

SSLSocketFactory sf = new SSLSocketFactory(sslContext);
sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
Scheme scheme = new Scheme("https", sf, 444);
client.getConnectionManager().getSchemeRegistry().register(scheme);
client.getParams().setParameter(ClientPNames.COOKIE_POLICY, CookiePolicy.BROWSER_COMPATIBILITY);
HttpGet httpGet = new HttpGet("https://mysite:444/en.html");
httpGet.addHeader("SSO-EMPLOYEENUMBER", "1234");
httpResponse = client.execute(httpGet);
} catch (Exception e) {
e.printStackTrace();
}
int status = httpResponse.getStatusLine().getStatusCode();
if (status != HTTP_STATUS_OK && status != HTTP_STATUS_CREATED) {
throw new QAException("Server Response: " + status + ": " + httpResponse.getStatusLine().getReasonPhrase());
}
return status;
}

如何更改此代码以使其不包含已弃用的方法和实例(如 DefaultHttpClient)?

有没有我可以阅读的有用文档?

最佳答案

Apache 维护一个 deprecated list

您可以查看该列表以查看他们建议您用什么替换它,以及它被弃用的客户端版本。

对于DefaultHttpClient,他们推荐

org.apache.http.impl.client.DefaultHttpClient (4.3) use HttpClientBuilder see also CloseableHttpClient.

你也可以去HttpComponents Home Page其中有示例和文档的链接

关于java - Http Get 请求使用 HttpClient 4.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31967893/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com