curl8.6.0 - CURLE_PEER_FAILED_VERIFICATION

2024-02-09 21:36

本文主要是介绍curl8.6.0 - CURLE_PEER_FAILED_VERIFICATION,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • curl8.6.0 - CURLE_PEER_FAILED_VERIFICATION
    • 概述
    • 笔记
    • END

curl8.6.0 - CURLE_PEER_FAILED_VERIFICATION

概述

在看一个开源工程, 里面用到了curl和openssl, 但是工程使用vcpkg来管理的包, 用CMake来编译
依赖太多了, win10 + 编译选项为 vs2019 x64/Win32(或者Ninja)都编译不过 😦 应该是作者给的编译脚本有问题.

openssl我前面实验都编译好了.
现在就差一个curl. 看了curl的编译依赖项(看了几个依赖项的说明, 依赖项本身还有依赖项…), 挺吓人的.
尝试看看用curl官方编译好的curl(dll, lib)看看能用不?

下载官方编译好的curl, 建立了一个vs2019控制台工程, 设置好curl库和头的位置.
将官方demo(D:\my_dev_depend\curl-8.6.0_1-win64-mingw\docs\examples*.c)贴到工程中试试.
试了2个, 都出现了报错, 错误码为 CURLE_PEER_FAILED_VERIFICATION
查了一下, 好像要设置不校验相关选项才行.
咋设置和这个错误码相关的选项呢? 在头文件中猜读/实验了几次, 搞定了.
现在就可以直接用官方编译好的curl, 不用去自己折腾编译工程了. 开源工程依赖多的时候, 自己编译真不好搞定.

这些作者为啥不将依赖项都编译好(或者告诉使用者, 这些依赖项是否有官方编译好的版本), 放在工程目录中, 让使用者直接关心工程本身, 这样会友好很多.

笔记

建立的工程为 vs2019 console x64 debug
下载的官方编译的包为 curl-8.6.0_1-win64-mingw.zip
在这里插入图片描述
在这里插入图片描述

/*! \file curl_v8d6d0_prj_template.cpp
*/#include <iostream>// 将工程调试的目录设置为 D:\my_dev_depend\curl-8.6.0_1-win64-mingw\bin// 将工程的库目录设置为 D:\my_dev_depend\curl-8.6.0_1-win64-mingw\lib
#pragma comment(lib, "libcurl.dll.a")/* <DESC>* GET a range only of a HTTP resource* </DESC>*/
// 将工程的头目录设置为 D:\my_dev_depend\curl-8.6.0_1-win64-mingw\include
#include <curl/curl.h>int main(void)
{CURL* curl;CURLcode res;curl = curl_easy_init();if (curl) {curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/");curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0); // disable verify for CURLOPT_SSL_VERIFYPEERres = curl_easy_perform(curl); // CURLE_PEER_FAILED_VERIFICATIONif (CURLE_OK == res) {char* ct;/* ask for the content-type */res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);if ((CURLE_OK == res) && ct)printf("We received Content-Type: %s\n", ct);}/* always cleanup */curl_easy_cleanup(curl);}return 0;
}

END

这篇关于curl8.6.0 - CURLE_PEER_FAILED_VERIFICATION的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695340

相关文章

android java.io.IOException: open failed: ENOENT (No such file or directory)-api23+权限受权

问题描述 在安卓上,清单明明已经受权了读写文件权限,但偏偏就是创建不了目录和文件 调用mkdirs()总是返回false. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.READ_E

UserWarning: mkl-service package failed to import

安装完成anaconda,并设置了两个环境变量  之后再控制台运行python环境,输入import numpy as np,提示错误 D:\InstallFolder\Anaconda3\lib\site-packages\numpy\__init__.py:143: UserWarning: mkl-service package failed to import, therefore

Python安装llama库出错“metadata-generation-failed”

Python安装llama库出错“metadata-generation-failed” 1. 安装llama库时出错2. 定位问题1. 去官网下载llama包 2.修改配置文件2.1 解压文件2.2 修改配置文件 3. 本地安装文件 1. 安装llama库时出错 2. 定位问题 根据查到的资料,发现时llama包中的execfile函数已经被下线了,需要我们手动修改代码后

Typora配置PicGo时,提示Failed to fetch

Typora配置PicGo时,提示Failed to fetch 两者配置的端口不一致造成的 打开Typora,选择文件-偏好设置-图像-验证图片上传选项,点击验证图片上传选项 会提示错误:Failed to fetch,此时可以发现typora中设置的上传端口为36677 打开PigGo,选择PicGo设置-设置server,会发现监听端口为36678 修改监听接口为366

Tomcat启动报错:transport error 202: bind failed: Address already in use

Tomcat启动报错:transport error 202: bind failed: Address already in use 了,上网查找了下面这篇文章。也是一种解决办法。 下文来自:http://blog.csdn.net/sam031503/article/details/7037033 tomcat 启动日志报出以下错误:  ERROR: transport err

SpringBoot启动报错Failed to determine a suitable driver class

两种解决办法 1.在Application类上加 ` @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) package com.example.demo3;import org.springframework.boot.SpringApplication;import org.springframewo

Failed to pull selection解决办法

今天在使用DDMS导出文档到PC端的时候,明明在file explorer里面有文件,导出时候就是失败,出现了“Failed to pull selection”错误。百度了一下,还是重启Eclipse最靠谱。

JavaBug系列- Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class load

JavaBug系列之Mysql驱动问题 Java医生一、关于错误信息二、如何解决问题 Java医生 本系列记录常见Bug,以及诊断过程和原因 Java/一对一零基础辅导/企业项目一对一辅导/日常Bug解决/代码讲解/毕业设计等 V:study_51ctofx 一、关于错误信息 APPLICATION FAILED TO START Description: Fai

王立平--Failed to push selection: Read-only file system

往android模拟器导入资源,失败。提示:只读文件、 mnt是只读文件。应点击sdcard,,在导入

兔子--Android Studio出现错误:Error:Execution failed for task ':myapp:dexDebug'. com.android.ide.common.pro

重点在:finished with non-zero exit value 2. 这里表明了有重复的内容存在。 由于:Android Studio中引入包的方式有如下2种:    compile 'com.android.support:support-v4:22.0.0'    compile files('libs/support-v