易语言 使用WinHttp对象访问证书错误的网站
2014-03-04 00:37
1301 查看
winhttp对象本身支持https
但是今天遇到个网站,证书错误,然后用winhttp访问 返回空
查找一番,发现winhttp有个属性 winhttprequestoption_sslerrorignoreflags ,就是忽略证书错误标志,只要将此标志设置为 SslErrorFlag_Ignore_All (13056) 就可以了
http.option(4,13056)
附上winhttp的一些可设置选项,以备后用:
Option()相关:
WinHttpRequestOption_UserAgentString = 0;
WinHttpRequestOption_URL = 1;
WinHttpRequestOption_URLCodePage = 2;
WinHttpRequestOption_EscapePercentInURL = 3;
WinHttpRequestOption_SslErrorIgnoreFlags = 4;
WinHttpRequestOption_SelectCertificate = 5;
WinHttpRequestOption_EnableRedirects = 6;
WinHttpRequestOption_UrlEscapeDisable = 7;
WinHttpRequestOption_UrlEscapeDisableQuery = 8;
WinHttpRequestOption_SecureProtocols = 9;
WinHttpRequestOption_EnableTracing = 10;
WinHttpRequestOption_RevertImpersonationOverSsl = 11;
WinHttpRequestOption_EnableHttpsToHttpRedirects = 12;
WinHttpRequestOption_EnablePassportAuthentication = 13;
WinHttpRequestOption_MaxAutomaticRedirects = 14;
WinHttpRequestOption_MaxResponseHeaderSize = 15;
WinHttpRequestOption_MaxResponseDrainSize = 16;
WinHttpRequestOption_EnableHttp1_1 = 17;
WinHttpRequestOption_EnableCertificateRevocationCheck = 18;
Enum WinHttpRequestAutoLogonPolicy;
AutoLogonPolicy_Always = 0;
AutoLogonPolicy_OnlyIfBypassProxy = 1;
AutoLogonPolicy_Never = 2;
Enum WinHttpRequestSslErrorFlags;
SslErrorFlag_UnknownCA = 0x100;
SslErrorFlag_CertWrongUsage = 0x200;
SslErrorFlag_CertCNInvalid = 0x1000;
SslErrorFlag_CertDateInvalid = 0x2000;
SslErrorFlag_Ignore_All = 0x3300;
Enum WinHttpRequestSecureProtocols;
SecureProtocol_SSL2 = 8;
SecureProtocol_SSL3 = 32;
SecureProtocol_TLS1 = 128;
SecureProtocol_ALL = 168;
但是今天遇到个网站,证书错误,然后用winhttp访问 返回空
查找一番,发现winhttp有个属性 winhttprequestoption_sslerrorignoreflags ,就是忽略证书错误标志,只要将此标志设置为 SslErrorFlag_Ignore_All (13056) 就可以了
http.option(4,13056)
附上winhttp的一些可设置选项,以备后用:
Option()相关:
WinHttpRequestOption_UserAgentString = 0;
WinHttpRequestOption_URL = 1;
WinHttpRequestOption_URLCodePage = 2;
WinHttpRequestOption_EscapePercentInURL = 3;
WinHttpRequestOption_SslErrorIgnoreFlags = 4;
WinHttpRequestOption_SelectCertificate = 5;
WinHttpRequestOption_EnableRedirects = 6;
WinHttpRequestOption_UrlEscapeDisable = 7;
WinHttpRequestOption_UrlEscapeDisableQuery = 8;
WinHttpRequestOption_SecureProtocols = 9;
WinHttpRequestOption_EnableTracing = 10;
WinHttpRequestOption_RevertImpersonationOverSsl = 11;
WinHttpRequestOption_EnableHttpsToHttpRedirects = 12;
WinHttpRequestOption_EnablePassportAuthentication = 13;
WinHttpRequestOption_MaxAutomaticRedirects = 14;
WinHttpRequestOption_MaxResponseHeaderSize = 15;
WinHttpRequestOption_MaxResponseDrainSize = 16;
WinHttpRequestOption_EnableHttp1_1 = 17;
WinHttpRequestOption_EnableCertificateRevocationCheck = 18;
Enum WinHttpRequestAutoLogonPolicy;
AutoLogonPolicy_Always = 0;
AutoLogonPolicy_OnlyIfBypassProxy = 1;
AutoLogonPolicy_Never = 2;
Enum WinHttpRequestSslErrorFlags;
SslErrorFlag_UnknownCA = 0x100;
SslErrorFlag_CertWrongUsage = 0x200;
SslErrorFlag_CertCNInvalid = 0x1000;
SslErrorFlag_CertDateInvalid = 0x2000;
SslErrorFlag_Ignore_All = 0x3300;
Enum WinHttpRequestSecureProtocols;
SecureProtocol_SSL2 = 8;
SecureProtocol_SSL3 = 32;
SecureProtocol_TLS1 = 128;
SecureProtocol_ALL = 168;
相关文章推荐
- VB 使用WinHttp对象访问证书错误的网站
- 客户端在浏览网站时收到“HTTP 403.4 - 禁止访问:需要使用 SSL 查看该资源”错误,但是网站没有配置为使用 SSL
- 使用WinInet方式访问网页与使用WinHttp对象方式访问有什么不同
- 使用HttpSession对象记录网站的访问次数
- 启动IIS 网站出现错误 另一个程序正在使用此文件,进程无法访问
- 使用WinINet和WinHTTP实现Http访问
- CloseableHttpClient加载证书来访问https网站
- 使用ajax访问服务器时---创建XMLHttpRequest对象
- 2008年3月小记(设置Windows服务的依赖关系,配置MSMQ的访问权限,WCF的安全配置,删除重建网站,HttpWebRequest,一年中的周,在WCF中使用HttpContext,String.Join)
- HttpRequest访问Https带有证书并使用WSDL文档生成代理类方案(2)
- vs2010 未能连接到http...出现以下错误: 无法创建网站http...若要访问本地 IIS 网站,必须安装下列 IIS 组件:IIS 6 元数据库与 IIS 6 配置的兼容性
- 网站出现 HTTP 错误 401.2 - 未经授权:访问由于服务器配置被拒绝
- IIS-网站发布之后访问HTTP 错误 403.14 - Forbidden
- 2008年3月小记(设置Windows服务的依赖关系,配置MSMQ的访问权限,WCF的安全配置,删除重建网站,HttpWebRequest,一年中的周,在WCF中使用HttpContext,String.Join)
- 使用WinINet和WinHTTP实现Http访问
- 使用HttpWebRequest访问需要登录的网站-另一种途径
- 使用Application对象简单完成网站总访问人数的统计
- 访问网站报错“配置错误 不能在此路径中使用此配置节”
- 使用WinINet和WinHTTP实现Http访问
- Nginx Http认证 实现访问网站或目录密码认证保护 | 使用 HttpAuthBasicModule 模块