请求接口支持HTTPS

NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"证书名称" ofType:@"cer"];
    NSData *cerData = [NSData dataWithContentsOfFile:cerPath];
    NSSet *cerSet = [[NSSet alloc]initWithObjects:cerData, nil];
    AFSecurityPolicy *securityPoliy = [AFSecurityPolicy defaultPolicy];
    //allowInvalidCertificates 是否允许无效证书(也就是自建的证书),默认为NO
    //如果是需要验证自建证书,需要设置为YES
    securityPoliy.allowInvalidCertificates = YES;
    //validatesDomainName 是否需要验证域名,默认为YES;
    securityPoliy.validatesDomainName = NO;
    //设置证书
    [securityPoliy setPinnedCertificates:cerSet];
    [dxClient setSecurityPolicy:securityPoliy];

  //如果使用自建证书,需要设置为YES
  securityPoliy.allowInvalidCertificates = YES;

转载于:https://www.cnblogs.com/Crazy-ZY/p/6208166.html

### 关于CEF框架对HTTPS请求支持 CEF(Chromium Embedded Framework)基于Chromium浏览器引擎构建,因此它继承了Chromium对于网络协议的支持能力,包括HTTP和HTTPS。这意味着CEF完全支持发起HTTPS请求。 当需要加载一个简单的URL时,可以通过`CefBrowserHost::GetMainFrame()->LoadURL()`方法完成[^1]。然而,如果涉及更复杂的需求,比如自定义头部字段或者处理POST数据,则应使用`CefFrame::LoadRequest()`方法并传入一个配置好的`CefRequest`对象作为参数。 #### 配置HTTPS请求的具体方式 为了确保能够成功发出HTTPS请求,在创建`CefRequest`对象时需要注意以下几个方面: 1. **设置正确的URL**: URL应当以`https://`开头。 2. **添加必要的头信息**: 可以通过`request->SetHeaderMap(header_map)`来设定额外的HTTP头项。 3. **指定请求类型**: 使用`request->SetMethod("GET")`或`request->SetMethod("POST")`等语句明确指出这是哪种类型的请求。 4. **上传数据(针对POST)**: 对于POST请求而言,还需要利用`CefPostData`类及其子元素来构造要提交的数据体。 下面给出一段示例代码展示如何建立一个基本的HTTPS GET 请求: ```cpp void PerformHttpsGet(const std::string& url){ CefRefPtr<CefRequest> request = CefRequest::Create(); // 设置请求的方法为GET request->SetMethod("GET"); // 建立header map 并填充必要条目 CefRequest::HeaderMap headerMap; headerMap["Accept"] = "*/*"; headerMap["Connection"] = "keep-alive"; // 将headers 应用于请求中 request->SetHeaderMap(headerMap); // 设定目标地址 request->SetURL(url); // 获取当前frame 并载入已准备完毕之请求 browser_->GetMainFrame()->LoadRequest(request); } ``` 另外值得注意的是,CEF还允许开发者拦截并修改即将发生的浏览行为,这可通过重写`OnBeforeResourceLoad`回调函数达成;同时也提供机制让不同进程间交换信息——这对于某些特殊场景下的安全证书验证操作可能特别有用[^2]。 综上所述,CEF不仅全面兼容HTTPS通信标准,而且给予使用者高度灵活的操作接口来自由定制各类高级特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值