当前位置: 首页 > news >正文

中山哪家建网站好wordpress做招聘网站

中山哪家建网站好,wordpress做招聘网站,做网站用什么配资电脑,炉石吐司做的网站Wininet库忽略Https证书 相信很多朋友使用C WINAPI开发的时候网络模块的时候遇到Https忽悠证书无效的情况下#xff0c; 仍然希望获取结果下列代码便是忽略异常的Https CA证书#xff0c;下面对原理进行简单的讲解首先, 需要设置Https忽略需要用到如下结果函数与参数Interne…Wininet库忽略Https证书 相信很多朋友使用C WINAPI开发的时候网络模块的时候遇到Https忽悠证书无效的情况下 仍然希望获取结果下列代码便是忽略异常的Https CA证书下面对原理进行简单的讲解首先, 需要设置Https忽略需要用到如下结果函数与参数InternetQueryOptionA/InternetSetOptionA 参数需要SECURITY_FLAG_IGNORE_UNKNOWN_CA,下面建议先阅读下代码可以发现忽略Https证书 是发生在HttpSendRequestA之后设置这是因为InternetConnect主要负责主要负责建立与服务器 的连接而涉及到CACertificate Authority的验证通常是在建立连接后的HTTP请求阶段进行的, CA的验证是在SSL/TLS握手过程中完成的而握手过程通常是在 HttpSendRequestA被调用时发生。 因此在建立连接时我们还没有进入HTTP请求的阶段所以无法在 InternetConnect 之前 处理CA验证的问题,因此下列代码是进行这样忽略的首先HttpSendRequestA返回ERROR_INTERNET_INVALID_CA 出现CA证书异常这个时候需要忽略证书无效InternetQueryOptionA获取当前的安全选项然后 追加上SECURITY_FLAG_IGNORE_UNKNOWN_CA忽略证书无效CA将设置后的值通过InternetSetOptionA 函数应用再次发起HttpSendRequestA即可忽略CA证书进行下一步操作。#include Windows.h #include Wininet.h #include stdio.h #pragma comment(lib, wininet.lib)#define TRANSFER_SIZE 1024// 定义一个函数来执行HTTP请求 bool PerformHttpRequest() {// 设置用户代理字符串LPCSTR lpszAgent ;// 初始化WinINet会话HINTERNET hInternet InternetOpenA(lpszAgent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);if (!hInternet) {return false; // 如果InternetOpen失败返回false}// 服务器详情LPCSTR lpszServerName 192.168.99.111; // 设置服务器IP地址INTERNET_PORT nServerPort INTERNET_DEFAULT_HTTPS_PORT; // HTTPS端口443LPCSTR lpszUserName NULL; // 无登录用户名LPCSTR lpszPassword NULL; // 无登录密码DWORD dwConnectFlags 0;DWORD dwConnectContext 0;// 连接到服务器HINTERNET hConnect InternetConnectA(hInternet,lpszServerName, nServerPort,lpszUserName, lpszPassword,INTERNET_SERVICE_HTTP,dwConnectFlags, dwConnectContext);if (!hConnect) {InternetCloseHandle(hInternet);return false; // 如果连接失败返回false}// 请求详情LPCSTR lpszVerb GET;LPCSTR lpszObjectName /Login;LPCSTR lpszVersion NULL; // 默认.LPCSTR lpszReferrer NULL; // 没有引用页LPCSTR* lplpszAcceptTypes NULL; // Accpet所有类型.DWORD dwOpenRequestFlags INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP |INTERNET_FLAG_KEEP_CONNECTION |INTERNET_FLAG_NO_AUTH |INTERNET_FLAG_NO_COOKIES |INTERNET_FLAG_NO_UI |// 设置启用HTTPSINTERNET_FLAG_SECURE |INTERNET_FLAG_IGNORE_CERT_CN_INVALID |INTERNET_FLAG_RELOAD;DWORD dwOpenRequestContext 0;// 初始化请求HINTERNET hRequest HttpOpenRequestA(hConnect, lpszVerb, lpszObjectName, lpszVersion,lpszReferrer, lplpszAcceptTypes,dwOpenRequestFlags, dwOpenRequestContext);if (!hRequest) {InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return false; // 如果初始化请求失败返回false}// 发送请求BOOL bResult HttpSendRequestA(hRequest, NULL, 0, NULL, 0);if (!bResult GetLastError() ERROR_INTERNET_INVALID_CA) {// 处理HTTPS证书无效的情况DWORD dwFlags;DWORD dwBuffLen sizeof(dwFlags);InternetQueryOptionA(hRequest, INTERNET_OPTION_SECURITY_FLAGS, (LPVOID)dwFlags, dwBuffLen);dwFlags | SECURITY_FLAG_IGNORE_UNKNOWN_CA;InternetSetOptionA(hRequest, INTERNET_OPTION_SECURITY_FLAGS, dwFlags, sizeof(dwFlags));bResult HttpSendRequestA(hRequest, NULL, 0, NULL, 0);}if (!bResult) {InternetCloseHandle(hRequest);InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return false; // 如果发送请求失败返回false}// 获取HTTP响应头信息char szBuff[TRANSFER_SIZE];DWORD dwReadSize TRANSFER_SIZE;bResult HttpQueryInfoA(hRequest, HTTP_QUERY_RAW_HEADERS_CRLF, szBuff, dwReadSize, NULL);if (!bResult) {InternetCloseHandle(hRequest);InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return false; // 如果获取响应头信息失败返回false}szBuff[dwReadSize] \0;printf(%s\n, szBuff);// HTTP响应的正文DWORD dwBytesAvailable;bResult InternetQueryDataAvailable(hRequest, dwBytesAvailable, 0, 0);if (!bResult) {InternetCloseHandle(hRequest);InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return false; // 如果查询可用数据失败返回false}if (dwBytesAvailable TRANSFER_SIZE) {printf(数据太长 %d /b, GetLastError(), dwBytesAvailable);InternetCloseHandle(hRequest);InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return false; // 如果可用数据太长返回false}DWORD dwBytesRead;bResult InternetReadFile(hRequest, szBuff, dwBytesAvailable, dwBytesRead);if (!bResult) {InternetCloseHandle(hRequest);InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return false; // 如果读取数据失败返回false}szBuff[dwBytesRead] \0;printf(%s\n, szBuff);InternetCloseHandle(hRequest);InternetCloseHandle(hConnect);InternetCloseHandle(hInternet);return true; // 成功执行HTTP请求返回true }int main() {if (PerformHttpRequest()) {return 0;}else {return 1;} }
http://www.zqtcl.cn/news/824603/

相关文章:

  • 网站后台图片不显示东莞市企业招聘信息网
  • 网站发布平台商业网站的网址
  • 免费的培训网站建设门户网站建设管理工作方案
  • 企业网站建设实验感想企业网络推广哪家公司好
  • 网站建设和维护视频如何入侵网站服务器
  • 怎样建设网站空间成都网站设公司
  • 百度文库账号登录入口百度seo规则最新
  • 服务器可以自己的网站吗网络营销策划与创意
  • 广州市招投标网站个人网站可以做论坛
  • 易语言做购物网站春节网站怎么做
  • 建公司网站设计网站公司做网上夫妻去哪个网站
  • 稷山网站建设wordpress单本小说采集
  • 凡客网站规划与建设ppt网站做跳转教程
  • 怎么看网站空间多大做网站旅游销售
  • 天津做手机网站建设旅游网站的目的
  • 飞机查询网站开发的创新点注册公司流程和费用大概多少钱
  • 高质量的邯郸网站建设厦门网页制作厦门小程序app
  • 建设企业网站企业网上银行官网官方二建证从住房建设厅网站调出流程
  • 网站开发和网站建设网页出现网站维护
  • 推广网站的方法电影网站建设教程
  • 哪些网站可以做相册视频成都企业网站公司
  • wordpress网站统计插件常见的管理信息系统有哪些
  • wordpress多个导航菜单seo引流软件
  • 建立网站需要多少钱怎么样企业邮箱在哪看
  • 网站主要功能2008服务器网站
  • 增城百度做网站多少钱it培训机构排名
  • 网站开发项目规划书四川建设网个人证书查询网址
  • 怎么模板建站微信做单30元一单
  • 兰州建设局网站十堰专业网站建设
  • html5 网站源码网络营销课程思政