Rest 无法在cURL中禁用ssl验证
我在公司网络[公司内部网络]上公开了一些ReSTFul的web服务。我尝试在窗口上使用curl测试这些。GET请求的地址如下-->(https在非标准端口上) 我在curlrc conf.文件中添加了选项unsecure 但是,结果不是在响应中获取所需的XML,而是显示以下错误的某个html页面Rest 无法在cURL中禁用ssl验证,rest,ssl,curl,restful-url,Rest,Ssl,Curl,Restful Url,我在公司网络[公司内部网络]上公开了一些ReSTFul的web服务。我尝试在窗口上使用curl测试这些。GET请求的地址如下-->(https在非标准端口上) 我在curlrc conf.文件中添加了选项unsecure 但是,结果不是在响应中获取所需的XML,而是显示以下错误的某个html页面 HTTPS Request Blocked 您的请求已被阻止,因为不允许使用HTTP连接方法连接端口13432。这可能是由于使用了非标准HTTPS端口 这是相同的错误页面,当一个人试图通过公司的网
HTTPS Request Blocked
您的请求已被阻止,因为不允许使用HTTP连接方法连接端口13432。这可能是由于使用了非标准HTTPS端口
这是相同的错误页面,当一个人试图通过公司的网络打开受限制的网站
我有一个用java编写的客户机代码,它工作得很好,可以获取XMLs,但需要使用curl
编辑1:-
在java客户端代码中调用以下方法:
static {
disableSslVerification();
}
private static void disableSslVerification() {
try {
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
}
这是相同的错误页面,当一个人试图通过公司的网络打开受限制的网站!是否您已经将curl配置为在不应该使用代理的情况下使用某种代理?显然,不安全选项正在工作,因为curl本身不会产生错误。请尝试使用
--noproxy myCompanysNet
运行它,看看是否是这样。这是一个快速的答案!!它工作得很好。。可能是curl使用了我设置的系统代理变量!THNX是同一个错误页面,当一个人试图通过公司的网络打开受限制的网站时!是否您已经将curl配置为在不应该使用代理的情况下使用某种代理?显然,不安全选项正在工作,因为curl本身不会产生错误。请尝试使用--noproxy myCompanysNet
运行它,看看是否是这样。这是一个快速的答案!!它工作得很好。。可能是curl使用了我设置的系统代理变量!thnx
static {
disableSslVerification();
}
private static void disableSslVerification() {
try {
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
// Install the all-trusting trust manager
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
// Create all-trusting host name verifier
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// Install the all-trusting host verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (KeyManagementException e) {
e.printStackTrace();
}
}