之前用VC客户端访问HTTPS服务器时,遇到“认证作者无效或者不正确”,“证书已失效”及类似的问题相当棘手,在这里我把可以忽略这些认证的方法写出来,让遇到相同问题的朋友可以更快解决问题。
下面贴上代码:(可以直接使用,需要包含 afxinet.h )

    CHttpConnection *myconn;CString VoidText;CString strSentence,strGetSentence;int _my;CString Call_Url ="api.btctrade.com";INTERNET_PORT nPort;DWORD dwServiceType;CString strServerName;CString strObject;DWORD _dwStatus,_dwStatusLen;CString _Url,_UrlHttp = "https://";_Url.Format("%s%s",_UrlHttp,Call_Url);//这里拼成的字符串是"https://api.btctrade.com" BOOL _GetParse = AfxParseURL(_Url,dwServiceType,strServerName,strObject,nPort);//调用解析URL方法,自动得到端口号BOOL _session = mysession.SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,1000*20);  //设置连接超时20秒_session = mysession.EnableStatusCallback(TRUE);    myconn=mysession.GetHttpConnection(Call_Url,INTERNET_FLAG_SECURE,nPort,NULL,NULL);//连接https服务器CHttpFile*  myfile=myconn->OpenRequest(CHttpConnection::HTTP_VERB_POST,"/api/balance/",NULL, 1,  NULL, NULL,INTERNET_FLAG_SECURE |INTERNET_FLAG_EXISTING_CONNECT |  INTERNET_FLAG_RELOAD |  INTERNET_FLAG_NO_CACHE_WRITE |  INTERNET_FLAG_IGNORE_CERT_DATE_INVALID |  INTERNET_FLAG_IGNORE_CERT_CN_INVALID/*| INTERNET_FLAG_TRANSFER_ASCII*/);//打开请求 ,这几个标识都要加上try{DWORD dwFlags;BOOL _query = myfile->QueryOption(INTERNET_OPTION_SECURITY_FLAGS | INTERNET_OPTION_SECURITY_CERTIFICATE,dwFlags);  //认证作者无效或者不正确dwFlags |= SECURITY_FLAG_IGNORE_UNKNOWN_CA ;  //查询选择项  _my = myfile->SetOption(INTERNET_OPTION_SECURITY_FLAGS, dwFlags);//设置选择项CString _Content = "Content-Type:application/json";BOOL _9 = myfile->AddRequestHeaders("Accept-Charset:UTF8");//增加头信息BOOL _4 = myfile->AddRequestHeaders(_Content);char* head = "key=zh777-eif2w-ua2n8-5xm2t-18jrt-4ck8e-57wce&coin=btc&amount=1.234&price=543&version=2";CString SendStr;SendStr.Format("\"key\":zh777-eif2w-ua2n8-5xm2t-18jrt-4ck8e-57wce,\"signature\":%s,nonce:2}",_getstr);head = SendStr.GetBuffer();int _head;_head = strlen(head);if (myfile->SendRequest((LPSTR)(LPTSTR)head,sizeof(char)*_head))//发送数据内容{myfile->QueryInfo(HTTP_QUERY_FLAG_NUMBER | HTTP_QUERY_STATUS_CODE ,  &_dwStatus, &_dwStatusLen, 0);  //这里可以看到是否发送成功 _dwStatus 等于200时成功}while (myfile->ReadString(strSentence))//读取接收到的方法{strGetSentence+=strSentence;}}catch(CInternetException *e) {  e->ReportError(); //TCHAR szErr[1024];//if (e->GetErrorMessage(szErr, sizeof(szErr)))//  AfxMessageBox(szErr); //这个看看具体错误//e->Delete();}delete myfile;myfile = NULL;delete myconn;myconn = NULL;

VC++访问HTTPS服务器(不受限制)相关推荐

  1. android 访问https服务器

    之前,我讲了如何让tomcat支持https访问,当时浏览器通过https:localhost:8443即可访问tomcat.可是android此时如何访问已经搭建好的tomcat的https了?我在 ...

  2. github服务器停止响应,如何解决“git pull,致命:无法访问'https://github.com ... \':服务器空回复”...

    当我使用Git命令"git pull"更新我的存储库时,消息如下: 致命:无法访问'...':来自服务器的空回复.如何解决"git pull,致命:无法访问'https: ...

  3. 一个https域名访问多种服务器

    一个https域名访问多种服务器 场景:只有一个https域名,需要可以同时访问接口服务器和静态文件服务器 https代理服务器的配置 server {listen 443 ssl;server_na ...

  4. WKWebView访问Https不受信任的站点的设置

    wkwebview访问Https不受信任的站点的设置 调用WKWebView的didReceiveAuthenticationChallenge协议方法进行相关的设置 -(void)webView:( ...

  5. 微信小程序访问云服务器,微信小程序访问云服务器ThinkPHP接口的HTTPS问题

    在上篇文章中我已经介绍了如何在云端服务器中搭建微信小程序可访问的ThinkPHP接口.https://www.jianshu.com/p/e7125b69bf14 在浏览器中输入:http://公网I ...

  6. RHEL4- WEB服务(十二)用户访问apache服务器认证

    RHEL4- WEB服务(十二)用户访问apache服务器认证   有些时候网站上的内容不是希望所有的用户都可以访问,由于网页内容性质的不同,会对来访的用户有所分类,网站的提供方希望部分网页内容只提供 ...

  7. nginx 学习笔记(9) 配置HTTPS服务器--转载

    HTTPS服务器优化 SSL证书链 合并HTTP/HTTPS主机 基于名字的HTTPS主机 带有多个主机名的SSL证书 主机名指示 兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议 ...

  8. es文件浏览器自动上传ftp服务器,es文件浏览器访问ftp服务器

    es文件浏览器访问ftp服务器 内容精选 换一换 WordPress简称WP,最初是一款博客系统,后逐步演化成一款免费的CMS(内容管理系统/建站系统).本文档指导用户使用华为云市场镜像"W ...

  9. 客户端访问https时应无浏览器(含终端)安全警告信息;_https和http有什么区别(内附详细分析)...

    很多站长知道https和http有所不同,但是究竟两者有什么不同浑然不知,针对这种情况,本文Seo星火给大家详细分析一下https和http有什么区别. 一.基本概念: (http服务器-->本 ...

最新文章

  1. 第二章、IP协议详解
  2. 冒泡排序,斐波拉契迭代、生成器
  3. 01 前端篇(标签)
  4. Jfinal碰到的问题记录
  5. csv 中显示逗号和双引号
  6. 他是我们内心世界的一员 (见信息时报2011年7月10日)
  7. CSU 2151 集训难度(线段树)
  8. 【Java愚公】gitlab关闭注册功能
  9. 动力总成悬置系统刚度及模态有效质量计算公式推导
  10. LL(1)分析法(C++实现)
  11. Pancake和import 语句——————————方法的重写
  12. SDN:简述对各类SDN控制器的认识
  13. html5 webgl stl,新闻|Babylon.js|Babylon.js教程|Babylon.js开发|Babylon.js制作|webgl|three.js|html53D可视化开发...
  14. MAX13487EESA+T
  15. 20162316刘诚昊 第三周学习总结
  16. 手机克隆助手隐私政策
  17. Ubuntu16.04安装cello
  18. open /run/flannel/subnet.env: no such file or directory
  19. 4411 三仙归洞(找规律-周期)
  20. Python shuffle() 函数---元素随机排序

热门文章

  1. 面试时说Redis是单线程的,被喷惨了!
  2. 假如有人炸了支付宝的存储服务器...
  3. 火热报名 |【 6月26日上海站】VCEC沙龙第5期:智能化技术在质量场景落地和实践...
  4. 漫画:7种编程语言的学习曲线
  5. 【快讯】JeecgBoot低代码平台,成功入选2021科创中国·开源创新榜
  6. 【专题二】应用号(小程序)开发教程首发第二弹!(0923)
  7. 基于微信我们可以做什么样的应用?
  8. JEECG 喜讯[后续推出功能]
  9. JavaEE基础(05):过滤器、监听器、拦截器,应用详解
  10. 学习webpack4 - ES6语法转化