我收到了一个请求,需要我翻译,换句话说,找到以下PHP代码的等效java代码。我目前使用Apache HttpClient来处理任务。我调查了4个小时但没有结果。互联网上有一些关于此的文章,但没有确切的答案。我对PHP的了解接近0.任何帮助都会非常感激。
curl_setopt($curl, CURLOPT_FORBID_REUSE, true);
curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_VERBOSE, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
答案 0 :(得分:0)
TRUE以强制连接在完成时显式关闭 处理,而不是合并重用。
TRUE强制使用新连接而不是缓存连接。
TRUE以将返回值作为字符串返回 curl_exec()而不是直接输出。
是否可以关注任何"位置:"服务器作为一部分发送的标头 HTTP标头(注意这是递归的,PHP将遵循尽可能多的 "地点:"它被发送的标头,除非CURLOPT_MAXREDIRS是 设定)。
允许cURL函数执行的最大秒数。
TRUE输出详细信息。将输出写入STDERR或 使用CURLOPT_STDERR指定的文件。
1检查SSL对等体中是否存在公用名 证书。 2检查是否存在通用名称并进行验证 它与提供的主机名匹配。在生产环境中 此选项的值应保持为2(默认值)。
FALSE阻止cURL验证对等方的证书。备用 可以使用指定要验证的证书 可以使用CURLOPT_CAINFO选项或证书目录指定 CURLOPT_CAPATH选项。
// set the connection timeout value (CURLOPT_TIMEOUT)
int timeout = 15;
RequestConfig config = RequestConfig.custom()
.setSocketTimeout(timeout * 1000)
.setConnectTimeout(timeout * 1000)
.build();
//Create the request
HttpClient client = HttpClientBuilder
.create()
.setDefaultRequestConfig(config)
//set your verifier (CURLOPT_SSL_VERIFYHOST)
.setHostnameVerifier(new AbstractVerifier() {
@Override
public void verify(final String host, final String[]
cns, final String[] subjectAlts) throws SSLException {
verify(host, cns, subjectAlts, true);
}
}
)
.build();
HttpGet request = new HttpGet(url + theData);
//Get the response
HttpResponse response = client.execute(request);
String responseString = EntityUtils.toString(response.getEntity());