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.comcurl: (77) error setting certificate verify locations:CAfile: /etc/pki/tls/certs/ca-bundle.crtCApath: 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 ...
随机推荐
- (sql server)玩转-数据库行列转换
虽然开发过程中没用过行列转换,但是听说面试时常常会遇到这个问题,以前在网上也看到过大神的例子,今天自己仔细的玩了下,希望和大家分享一下了. 注意:列转行的方法可能是我独创的了,呵呵,因为在网上找不到哦 ...
- thinkphp函数学习(3): C函数详解
function C($name=null, $value=null,$default=null) { static $_config = array(); // 无参数时获取所有 if (empty ...
- LINUX学习资源
鸟哥:http://vbird.dic.ksu.edu.tw/linux_basic/0430cron.php#cron 五分钟教程:http://roclinux.cn/?page_id=3759
- (12)C#枚举,结构
枚举 枚举类型是类似自定义的一个类,类里放着你自己定义的常量,关键字enum. enum Season{spring,summer,fall,winter} 想用这里的常量的话,首先把变量定义成 Se ...
- ZOJ 3940 Modulo Query (2016年浙江省赛E题,区间折叠 + map运用)
题目链接 2016 ZJCPC Problem E 考虑一个开区间$[0, x)$对$a_{i}$取模的过程. $[0, x)$中小于$a_{i}$的部分不变,大于等于$a_{i}$的部分被切下来变 ...
- 轮船问题(DP基础)
某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有一个城市作为友好城市.每一对友好城市都希望有一条航线来往,于是他们向政府提出了申请.由于河终年有雾.政府决定允许开通的航线 ...
- [BZOJ 4031] 小Z的房间
Link: BZOJ 4031 传送门 Solution: 矩阵树定理的模板题 看完下面两篇文章就会啦: 周冬论文:https://wenku.baidu.com/view/872eb02de2bd9 ...
- cf 546C Soldier and Cards
题目链接:C. Soldier and Cards Two bored soldiers are playing card war. Their card deck consists of exact ...
- c#ppt练习
第六章 1.从控制台输入一个数,如果这个数大于等于60,就输出”及格”,否则输出”不及格” 从控制台输入一串字符,如果这个这串字符的长度大于3,并且字符首字母为A,,则输出“格式正确”,如果这串字符的 ...
- System对象
System:类中的方法和属性都是静态的 out:标准输出,默认是控制台 in:标准输入.默认是键盘 System:描述系统的一些信息. 获取系统属性信息:Properties getProperti ...