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 ...
随机推荐
- yii2实现WebService 使用 SoapDiscovery
结合SoapDiscovery实现简单的WebService服务 1 修改php.ini文件 php_soap.dll extension=php_soap.dll 2 WebService 实现主要 ...
- 计蒜客 28319.Interesting Integers-类似斐波那契数列-递推思维题 (Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 I)
I. Interesting Integers 传送门 应该是叫思维题吧,反正敲一下脑壳才知道自己哪里写错了.要敢于暴力. 这个题的题意就是给你一个数,让你逆推出递推的最开始的两个数(假设一开始的两个 ...
- (7)java基础知识-原码、反码、补码、运算符
一.原码.反码.补码 原码 一个数转化成二进制. 用最高位来表示正负,最高位为0表示正数,最高位为1表示负数. 例如: short i=5: 因为在java里short占2个字节转化成二进制就是 00 ...
- Codeforces Round #262 (Div. 2) A. Vasya and Socks【暴力/模拟/袜子在可以在合法情况下增加后用几天】
A. Vasya and Socks time limit per test 1 second memory limit per test 256 megabytes input standard i ...
- Python的Web编程[0] -> Web客户端[0] -> 统一资源定位符 URL
统一资源定位符 / URL 目录 URL 构成 URL 解析 URL 处理 1 URL构成 统一资源定位符(Uniform Resource Locator) 是对可以从互联网上得到的资源的位置和访问 ...
- Uva 11077 Find the Permutation
可以发现最优的方案就是一个循环节内互换. 所以一个有n个元素,c个循环节的置换的交换次数(最少)是n-c. 然后就可以递推了,把i插入到前i-1个元素构成的置换中,要么新成立一个循环,要么加入到之前的 ...
- Winform打砖块游戏制作step by step第三节---移动挡板
一 引子 为了让更多的编程初学者,轻松愉快地掌握面向对象的思考方法,对象继承和多态的妙用,故推出此系列随笔,还望大家多多支持. 预备知识,无GDI画图基础的童鞋请先阅读一篇文章让你彻底弄懂WinFor ...
- 本地缓存localstorage使用
最近做项目遇到一个问题,即从“个人中心”点击进入“修改支付宝”,需要自动获取用户手机号怎么做? 修改支付宝的api不提供用户手机号数据,但是发现个人中心提供,于是想通过localstorage在个人中 ...
- Linux下自动监测并重启Apache服务脚本
为了达到一个高可用的基于Apache的网站环境,在Apache由于种种原因自动停止运行之后,想立即恢复网站访问,这就需要有个工具实时监测Apache的运行状态并能够自动重启httpd服务,写了一个简单 ...
- Linux 常见安全检查方法
Linux 常见安全检查方法进行概要说明: 一.检查系统密码文件,查看文件修改日期 # ls -l /etc/passwd 二.查看 passwd 文件中有哪些特权用户 # awk -F: '$3= ...