Cygwin 版本的 Curl 安装,提取,使用笔记
Cygwin 版本的 Curl 依赖的 DLL 清单
提取 Cygwin 版本的 Curl 工具
提取方法1(笨办法)
提取方法2(推荐方法)
精简 Cygwin
可精简工具包列表(个人笔记)
手动卸载工具包步骤
正常卸载工具包步骤
安装 Cygwin 工具包 步骤
1.本地检索 工具包
2.在线检索 工具包
安装 Cygwin 步骤
Cygwin 版本的 Curl 安装,提取,使用笔记
Cygwin 版本的 Curl 使其恢复 HTTPS 请求功能
假如仅把依赖的DLL复制出来,正常HTTP请求是没问题的.也能正确上传中文到PHP服务器不乱码.
但是无法正确访问HTTPS服务器.提示以下错误:>curl https://baidu.com
curl: (77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
于是使用排除法一个文件夹一个文件夹的排除,删除.最终确定了一下文件夹结构及其文件是必须的:
├─bin
│ curl.exe
│ cygcom_err-2.dll
│ cygcrypto-1.0.0.dll
│ cygcurl-4.dll
│ cygexpat-1.dll
│ cyggcc_s-seh-1.dll
│ cyggssapi_krb5-2.dll
│ cygiconv-2.dll
│ cygidn-11.dll
│ cygintl-8.dll
│ cygk5crypto-3.dll
│ cygkrb5-3.dll
│ cygkrb5support-0.dll
│ cyglber-2-4-2.dll
│ cygldap-2-4-2.dll
│ cygmetalink-3.dll
│ cygnghttp2-14.dll
│ cygpsl-5.dll
│ cygsasl2-3.dll
│ cygssh2-1.dll
│ cygssl-1.0.0.dll
│ cygunistring-2.dll
│ cygwin1.dll
│ cygz.dll
├─etc
│ └─pki
│ ├─ca-trust
│ │ └─extracted
│ │ └─pem
│ │ tls-ca-bundle.pem
│ └─tls
│ cert.pem(必须是系统属性 attrib +s)
│ certs(必须是系统属性 attrib +s)
└─usr
└─ssl
└─certs
ca-bundle.crt(必须是系统属性 attrib +s)
ca-bundle.trust.crt(必须是系统属性 attrib +s)
Cygwin 版本的 Curl 依赖的 DLL 清单
- cygcom_err-2.dll
- cygcrypto-1.0.0.dll
- cygcurl-4.dll
- cygexpat-1.dll
- cyggcc_s-seh-1.dll
- cyggssapi_krb5-2.dll
- cygiconv-2.dll
- cygidn-11.dll
- cygintl-8.dll
- cygk5crypto-3.dll
- cygkrb5-3.dll
- cygkrb5support-0.dll
- cyglber-2-4-2.dll
- cygldap-2-4-2.dll
- cygmetalink-3.dll
- cygnghttp2-14.dll
- cygpsl-5.dll
- cygsasl2-3.dll
- cygssh2-1.dll
- cygssl-1.0.0.dll
- cygunistring-2.dll
- cygwin1.dll
- cygz.dll
提取 Cygwin 版本的 Curl 工具
提取方法1(笨办法)
- 把
\cygwin64\bin
目录里的 curl.exe 复制到 新文件夹. - 在 新文件夹 运行 curl ,此时会提示缺少 XXX.dll ,然后把缺少的 dll 复制到新文件夹.
- 循环 步骤2 直到能正常运行 curl 为止.
提取方法2(推荐方法)
- 下载软件
Dependency Walker
- 用该软件打开 curl 程序
- 再 File - Save As - 保存类型 - .txt
- 用
高级文本编辑器
打开保存的文本 - 提取所有在
\cygwin64\bin
目录的DLL路径字符串
- 用
Excel软件
把重复的路径字符串
清除掉. - 再在
高级文本编辑器
里在 所有路径字符串
前面加上COPY /Y
字符串 并全部复制 - 再在
新文件夹
里空白处 按住 Shift 打开 右键菜单 - 在此处打开命令窗口 - 粘帖 - Enter - 搞定所有DLL!
精简 Cygwin
可精简工具包列表(个人笔记)
- gawk: GNU awk, a pattern scanning and processing language
- groff: GNU roff formatter
- libdb5.3: Oracle Berkeley D (runtime)
手动卸载工具包步骤
鉴于使用setup工具无法正常卸载某些工具包(如某些核心工具包),于是只好手动删除相关文件来卸载了.
此步骤要能脚本化才方便.否则要删除文件多的话,手工比对非常麻烦.
初期可用 BeyondCompare 软件的文件夹比对功能来删除.
- 进入 缓存文件夹(Local Package Directory)
如: 缓存文件夹\网址\x86_64\release - 找到需要卸载的工具包
如: gawk\gawk-4.1.4-1.tar.xz - 根据.tar.xz包里的文件夹结构,去删除 Cygwin安装文件夹(Root Directory)对应的文件即可.
正常卸载工具包步骤
- 参照 安装 Cygwin 工具包 步骤 到达 Select Packages 步骤
- 单击待精简工具包New状态 Keep 为 Uninstall 即可卸载.
安装 Cygwin 工具包 步骤
1.本地检索 工具包
理论上 使用 Install From Local Directory 也是可行的,因为记录所有可安装的工具数据库文件 setup.ini已经下载完毕.但是实际使用时却无法正确读取出可安装的列表供检索.只能走在线检索了.
经过摸索,终于发现可以直接本地检索的方法了!
- 和 “安装 Cygwin 步骤” 一样
- 但是选择 Install From Local Directory
- 到达 Select Packages 步骤
- 此时选择 View 为 Full
- 然后回退到上一步
- 再进入 Select Packages 步骤
- 此时就发现滚动条明显变长了.说明成功列举出所有可供安装的工具包列表了.
猜测是 setup 的一个Bug? 或者是一个未声明的”优化”,第一遍只显示”已安装的工具包”,第二遍才显示所有可供安装的工具包列表?
2.在线检索 工具包
- 打开 setup-x86_64.exe
- 和 “安装 Cygwin 步骤” 一样到达 Select Packages 步骤
- 检索 想要安装的工具名称 即可.
安装 Cygwin 步骤
- 打开官网 安装指南 界面
- 下载最新安装包 setup-x86_64.exe
- 打开 Cygwin下载镜像列表网站选择最近的国家.
如中国的:http://mirrors.ustc.edu.cn/cygwin/
,http://mirrors.neusoft.edu.cn/cygwin/
- 选择 Install From Internet
- 在 Cygwin Setup - Choose Download Site 时 添加选择的镜像网址.
- 在 Cygwin Setup - Select Packages 时 先不选择任何包
- 即可得到一个干净的单纯的 Cygwin 环境了.
Cygwin 版本的 Curl 安装,提取,使用笔记的更多相关文章
- cURL安装和使用笔记
0.前言 cURL是一个利用URL语法在命令行下工作的文件传输工具.它支持文件上传和下载,所以是综合传输工具,但习惯称cURL为下载工具.cURL还包含了用于程序开发的libcurl.cURL ...
- Dubbo入门到精通学习笔记(三):持续集成管理平台之SVN版本管理系统的安装和使用
文章目录 持续集成管理平台介绍 持续集成介绍 持续集成管理平台的组成 持续集成实践介绍 即将学习 SVN版本管理系统的安装 安装 Subversion + Apache 安装 jsvnadmin 简单 ...
- 浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案
浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案 本文是截止目前为止最强攻略,按照本文方法基本可以无压力应对caffe和Ross B. Girshick的 ...
- debain 8安装为知笔记(how to install wiznote in debain 8)
刚装了debain8后想安装为知笔记,百度之后发现为知笔记原来是开源软件.代码托管在github上:https://github.com/WizTeam/WizQTClient 但是上面只有Ubunt ...
- windows环境下curl 安装和使用
原文:https://blog.csdn.net/qq_21126979/article/details/78690960?locationNum=10&fps=1 一.curl 安装 cur ...
- redis 安装配置学习笔记
redis 安装配置学习笔记 //wget http://download.redis.io/releases/redis-2.8.17.tar.gz 下载最新版本 wget http://downl ...
- Centos7 安装 Python 的笔记
Centos7 安装 Python 的笔记 注意:系统自带的Python2.7不要改动,最好也不要出错,不然yum之类的工具可能会出错. 安装Python3.7.0 TensorFlow对Python ...
- Ubuntu 及衍生版本用户如何安装 SmartGit/HG
http://www.linuxidc.com/Linux/2014-06/102621.htm Ubuntu 及衍生版本用户如何安装 SmartGit/HG 6.0.0 [日期:2014-06-03 ...
- TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub)[转]
TortoiseGit和msysGit安装及使用笔记(windows下使用上传数据到GitHub) Git-1.7.11-preview+GitExtensions244SetupComplete+T ...
随机推荐
- AC日记——Vicious Keyboard codeforces 801a
801A - Vicious Keyboard 思路: 水题: 来,上代码: #include <cstdio> #include <cstring> #include < ...
- mysql常用命令行操作
1.linux下彻底卸载mysql sudo rm /var/lib/mysql/ -Rsudo rm /etc/mysql/ -R sudo apt-get autoremove mysql* -- ...
- “玲珑杯”ACM比赛 Round #1
Start Time:2016-08-20 13:00:00 End Time:2016-08-20 18:00:00 Refresh Time:2017-11-12 19:51:52 Public ...
- Codeforces #425 Div2 D
#425 Div2 D 题意 给出一个树形图,每次询问给出三个点,从其中选择两个作为起始点,一个终点,求从两个起始点出发(走最短路)到达终点经过的共同的点最多的数量. 分析 这种树上点与点之间距离有关 ...
- Codeforces 1018D D. Order book
解法:用l,r分别代表buy的最大值和sell的最小值,add时,若添加的值在l,r之间,则该值有可能作为下一次accept的值 accept x时,x只能在区间[l,r]中,否则无解,若x为l或r, ...
- Quaternion Euler
geometry_msgs::Quaternion orientation = map->info.origin.orientation; tf::Matrix3x3 mat(tf:: ...
- 1.11(java学习笔记)封装
封装将内部细节封装起来,只暴露外部接口. 比如我们的电视就将复杂的内部线路用外壳封装起来,只留下外部按钮或遥控,用户只需要知道按钮或遥控的作用就可以,无需明白电视内部是如何工作. 而且封装也保障了安全 ...
- iOS 代理 重定向消息 forwardInvocation
今天简单研究一下iOS的重定向消息forwardInvocation: 首先看看Invocation类: @interface NSInvocation : NSObject { @private _ ...
- 启动MongoDB时,提示:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
启动MongoDB时,提示: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: ...
- java随机生成汉字
public static void main(String[] args) { String str = null; int hs, ls; Random random = new Random() ...