cURL必知必会

cURL必知必会
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [瑞典] (Daniel Stenberg) ,
2020-01
版次: 1
ISBN: 9787115523860
定价: 59.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 147页
18人买过
  • curl是一个利用URL语法在命令行下工作的文件传输工具,支持文件上传和下载。作为cURL项目的创造人和负责人,作者结合自己的开发和使用经验,为我们提供了curl的详尽指南。书中内容涵盖cURL项目介绍、作为命令行工具的用法、作为函数库的用法,等等。 cURL项目首席开发者,2017年瑞典Polhem奖章获得者,主要从事开源和自由软件开发。作为一名互联网协议极客,他从1985年就开始编程,并以此为生。他为wolfSSL提供curl商业支持,还在IETF(国际互联网工程任务组)任职,专注HTTPbis和QUIC。他也会时不时地发表公开演讲,并在twitch上教人怎么开发curl。

    【译者简介】

    毕业于厦门大学软件学院,十余年软件开发和架构经验,InfoQ高级社区编辑,译有《硅谷革命》《生产微服务》《Kafka**指南》等书。微信公众号CodeDeep。 第 1 章 cURL项目 1

    1.1 它是如何开始的 2

    1.2.1 发音问题 2

    1.2.2 混淆 2

    1.2.3 作为动词 2

    1.3 curl可以做什么 3

    1.3.1 命令行工具curl 3

    1.3.2 libcurl库 3

    1.4 开发团队 4

    1.5 curl的用户 5

    1.5.1 开源 5

    1.5.2 下载量 5

    1.5.3 找出用户 6

    1.5.4 命令行工具用户 6

    1.5.5 嵌入式库 6

    1.5.6 网站后端 6

    1.5.7 著名的用户 6

    第 2 章 命令行基础 8

    2.1 命令行选项 9

    2.1.1 短选项 9

    2.1.2 长选项 10

    2.1.3 选项的参数 10

    2.1.4 带空格的参数 10

    2.1.5 负选项 11

    2.2 不同版本的选项 11

    2.3 URL 11

    2.3.1 scheme 12

    2.3.2 scheme分隔符 12

    2.3.3 不使用scheme 13

    2.3.4 用户名和密码 13

    2.3.5 主机名或地址 13

    2.3.6 端口号 13

    2.3.7 路径 14

    2.3.8 FTP类型 14

    2.3.9 片段 15

    2.3.10 浏览器的“地址栏” 15

    2.3.11 多个选项和多个URL 15

    2.3.12 URL的单独选项 15

    2.3.13 连接重用 16

    2.4 URL通配 16

    2.4.1 数值范围 16

    2.4.2 字母范围 17

    2.4.3 列表 17

    2.4.4 组合 17

    2.4.5 输出变量 17

    2.5 列出所有的命令行选项 18

    2.6 配置文件 18

    2.7 密码和窥探 20

    2.7.1 命令行泄露 20

    2.7.2 网络泄露 20

    2.8 进度指示器 20

    2.8.1 单位 21

    2.8.2 进度指示器图例 21

    第 3 章 使用curl 23

    3.1 详细模式 23

    3.1.1 --trace和--trace-ascii 25

    3.1.2 --trace-time 26

    3.1.3 HTTP 2 27

    3.1.4 --write-out 27

    3.1.5 可用的--write-out 变量 27

    3.1.6 静默模式 29

    3.2 持久连接 29

    3.3 下载 29

    3.3.1 究竟下载了哪些内容 29

    3.3.2 保存下载的内容 30

    3.3.3 用URL指定的文件名保存内容 30

    3.3.4 从服务器获取目标文件名 31

    3.3.5 HTML和字符集 31

    3.3.6 压缩 31

    3.3.7 shell重定向 32

    3.3.8 多个下载 32

    3.3.9 让所有URL使用自己的文件名 33

    3.3.10 “我的浏览器显示的是其他内容” 33

    3.3.11 客户端差异 33

    3.3.12 服务器端差异 34

    3.3.13 中介的欺骗 34

    3.3.14 速率限定 34

    3.3.15 最大的文件 35

    3.3.16 Metalink 35

    3.3.17 在文件系统中保存元数据 36

    3.3.18 --raw 36

    3.3.19 失败重试 36

    3.3.20 恢复下载和下载范围 36

    3.4 上传 37

    3.4.1 支持上传的协议 37

    3.4.2 HTTP 提供了几种“上传”方式 37

    3.4.3 POST 37

    3.4.4 multipart formpost 38

    3.4.5 PUT 38

    3.4.6 FTP上传 38

    3.4.7 SMTP上传 38

    3.4.8 上传的进度指示器 39

    3.4.9 速率限定 39

    3.5 连接 39

    3.5.1 主机名解析技巧 39

    3.5.2 基于c-ares库的域名解析 41

    3.5.3 连接超时 41

    3.5.4 网络接口 41

    3.5.5 本地端口号 42

    3.5.6 keepalive 42

    3.6 超时 43

    3.6.1 允许的最长时间 43

    3.6.2 允许的最长连接时间 43

    3.6.3 传输速率慢到一定程度就退出 43

    3.6.4 保持连接活跃 44

    3.7 .netrc 44

    3.7.1 .netrc的文件格式 44

    3.7.2 启用netrc 45

    3.8 代理 45

    3.8.1 发现你的代理 45

    3.8.2 PAC 46

    3.8.3 代理类型 46

    3.8.4 HTTP 46

    3.8.5 HTTPS和代理 46

    3.8.6 MITM代理 47

    3.8.7 HTTP代理与非HTTP协议 47

    3.8.8 HTTP代理通道 47

    3.8.9 SOCKS类型 48

    3.8.10 代理身份验证 48

    3.8.11 使用HTTPS连接代理 49

    3.8.12 代理环境变量 49

    3.9 退出状态 50

    3.9.1 可用的退出码 50

    3.9.2 错误消息 56

    3.9.3 “未使用” 56

    3.10 FTP 56

    3.10.1 ping-pong 56

    3.10.2 传输模式 57

    3.10.3 身份验证 57

    3.10.4 FTP使用两个连接 57

    3.10.5 如何遍历目录 58

    3.10.6 高级FTP特性 59

    3.11 SCP和SFTP 60

    3.11.1 URL 60

    3.11.2 已知的主机 61

    3.12 SMTP 62

    3.12.1 示例(email.txt) 62

    3.12.2 安全的邮件传输 63

    3.12.3 SMTP URL 63

    3.12.4 不进行MX查找 63

    3.13 TLS 64

    3.13.1 密码 64

    3.13.2 启用TLS 64

    3.13.3 SSL和TLS版本 65

    3.13.4 验证服务器证书 66

    3.13.5 CA存储 66

    3.13.6 证书固定 67

    3.13.7 OCSP装订 67

    3.13.8 客户端证书 68

    3.14 SSLKEYLOGFILE 8

    3.15 复制为curl命令 69

    3.15.1 Firefox 69

    3.15.2 Chrome 70

    3.15.3 Safari 70

    3.15.4 不使用Firefox的开发者工具 71

    3.15.5 不完美 71

    第 4 章 用curl执行HTTP操作 72

    4.1 协议基础 72

    4.1.1 HTTP方法 72

    4.1.2 HTTP协议基础 72

    4.1.3 将URL转换为请求 73

    4.1.4 --path-as-is 73

    4.2 响应 74

    4.2.1 HTTP响应 74

    4.2.2 HTTP响应消息的大小 74

    4.2.3 HTTP响应码 74

    4.2.4 CONNECT响应码 75

    4.2.5 分块传输编码 75

    4.2.6 gzip压缩传输 75

    4.2.7 压缩传输编码 75

    4.2.8 传递传输编码 76

    4.3 HTTP身份验证 76

    4.4 HTTP区间 77

    4.5 HTTP版本 78

    4.6 HTTP POST 78

    4.6.1 Content-Type 79

    4.6.2 POST二进制内容 79

    4.6.3 URL编码 79

    4.6.4 转换为GET 80

    4.6.5 Expect: 100-continue 80

    4.6.6 分块编码的POST 81

    4.6.7 隐藏的表单字段 81

    4.6.8 了解浏览器都发送了些什么 81

    4.6.9 JavaScript和表单 82

    4.7 HTTP multipart formpost 82

    4.7.1 使用curl发送表单 83

    4.7.2 生成的HTTP内容 83

    4.7.3 Content-Type 84

    4.8 -d与-F 84

    4.8.1 HTML Web表单 84

    4.8.2 HTML之外的POST 85

    4.9 重定向 85

    4.9.1 HTTP重定向 85

    4.9.2 永久重定向和临时重定向 85

    4.9.3 让curl遵循重定向 86

    4.9.4 GET还是POST 86

    4.9.5 决定在重定向中使用哪种方法 87

    4.9.6 重定向到其他主机 87

    4.9.7 非HTTP重定向 87

    4.9.8 HTML重定向 87

    4.9.9 JavaScript重定向 87

    4.10 修改HTTP请求 88

    4.10.1 请求方法 88

    4.10.2 自定义标头 88

    4.10.3 referer 89

    4.10.4 User-Agent 89

    4.10.5 时间条件 90

    4.11 PUT 90

    4.12 cookie 91

    4.12.1 cookie引擎 91

    4.12.2 从文件中读取cookie 91

    4.12.3 将cookie写入文件 92

    4.12.4 新cookie会话 92

    4.13 HTTP 2 92

    第 5 章 构建和安装 94

    5.1 安装预构建的二进制包 94

    5.2 从源代码构建 96

    5.2.1 git与tarball 96

    5.2.2 在Linux和类Unix系统上 96

    5.2.3 自动工具 97

    5.2.4 选择TLS后端 97

    5.3 依赖项 98

    5.3.1 zlib 98

    5.3.2 c-ares 98

    5.3.3 libssh2 98

    5.3.4 nghttp2 98

    5.3.5 openldap 98

    5.3.6 librtmp 99

    5.3.7 libmetalink 99

    5.3.8 libpsl 99

    5.3.9 libidn2 99

    5.4 TLS库 99

    5.4.1 用TLS库构建curl 99

    5.4.2 使用boringssl构建curl 102

    第 6 章 libcurl基础 103

    6.1 easy句柄 103

    6.2 “驱动”传输 104

    6.2.1 使用easy接口 105

    6.2.2 使用multi接口 105

    6.2.3 单个传输什么时候结束 107

    6.2.4 使用multi_socket接口 107

    6.2.5 选择一个 108

    6.2.6 多个easy句柄 108

    6.2.7 multi_socket回调 108

    6.2.8 如何开始传输 109

    6.2.9 什么时候结束 110

    6.3 连接重用 110

    6.3.1 easy API连接池 110

    6.3.2 multi API连接池 110

    6.3.3 共享“连接缓存” 111

    6.4 回调 111

    6.4.1 写回调 111

    6.4.2 读回调 112

    6.4.3 进度回调 112

    6.4.4 标头回调 113

    6.4.5 调试回调 114

    6.4.6 sockopt回调 114

    6.4.7 opensocket和closesocket回调 115

    6.4.8 提供文件描述符 115

    6.4.9 closesocket回调 116

    6.5 清理 116

    6.5.1 multi API 116

    6.5.2 easy句柄 116

    6.5.3 域名解析器后端 117

    6.6 代理 118

    6.6.1 代理类型 118

    6.6.2 本地或代理域名查找 119

    6.6.3 哪个代理 119

    6.6.4 代理环境变量 119

    6.6.5 HTTP代理 120

    6.6.6 HTTPS代理 120

    6.7 传输后的信息 121

    6.7.1 可用的信息 121

    6.7.2 在句柄之间共享数据 123

    6.7.3 multi句柄 123

    6.7.4 在easy句柄间共享数据 123

    6.7.5 共享什么 123

    6.7.6 锁定 124

    6.8 API兼容性 124

    6.8.1 版本号 124

    6.8.2 版本号数字的变化 125

    6.8.3 哪个libcurl版本 125

    6.8.4 运行的是哪个libcurl版本 126

    6.9 curl --libcurl 127

    6.10 头文件 128

    6.11 全局初始化 128

    6.12 libcurl多线程 129

    6.13 curl easy选项 129

    6.13.1 设置句柄选项 129

    6.13.2 设置数字选项 129

    6.13.3 获取句柄选项 130

    6.14 CURLcode返回码 130

    6.15 详细操作 130

    6.16 libcurl示例 131

    6.16.1 获取一个简单的HTML页面 131

    6.16.2 获取HTML页面并保存在内存中 132

    第 7 章 用libcurl执行HTTP操作 135

    7.1 HTTP响应 135

    7.1.1 HTTP响应码 135

    7.1.2 关于HTTP的“错误”响应码 136

    7.2 HTTP请求 136

    7.2.1 请求方法 136

    7.2.2 自定义HTTP请求标头 137

    7.3 HTTP版本 139

    7.4 HTTP区间 139

    7.4.1 HTTP身份验证 140

    7.4.2 用户名和密码 140

    7.4.3 要求进行身份验证 140

    7.4.4 Basic 140

    7.5 在libcurl中处理cookie 141

    7.5.1 cookie引擎 141

    7.5.2 设置自定义cookie 142

    7.5.3 导入和导出 142

    7.5.4 cookie文件格式 143

    7.6 下载 144

    7.6.1 使用libcurl进行HTTP下载 144

    7.6.2 同时下载标头 144

    7.7 上传 145

    7.7.1 HTTP上传 145

    7.7.2 HTTP POST 145

    7.7.3 HTTP multipart formpost 145

    第 8 章 语言绑定 146
  • 内容简介:
    curl是一个利用URL语法在命令行下工作的文件传输工具,支持文件上传和下载。作为cURL项目的创造人和负责人,作者结合自己的开发和使用经验,为我们提供了curl的详尽指南。书中内容涵盖cURL项目介绍、作为命令行工具的用法、作为函数库的用法,等等。
  • 作者简介:
    cURL项目首席开发者,2017年瑞典Polhem奖章获得者,主要从事开源和自由软件开发。作为一名互联网协议极客,他从1985年就开始编程,并以此为生。他为wolfSSL提供curl商业支持,还在IETF(国际互联网工程任务组)任职,专注HTTPbis和QUIC。他也会时不时地发表公开演讲,并在twitch上教人怎么开发curl。

    【译者简介】

    毕业于厦门大学软件学院,十余年软件开发和架构经验,InfoQ高级社区编辑,译有《硅谷革命》《生产微服务》《Kafka**指南》等书。微信公众号CodeDeep。
  • 目录:
    第 1 章 cURL项目 1

    1.1 它是如何开始的 2

    1.2.1 发音问题 2

    1.2.2 混淆 2

    1.2.3 作为动词 2

    1.3 curl可以做什么 3

    1.3.1 命令行工具curl 3

    1.3.2 libcurl库 3

    1.4 开发团队 4

    1.5 curl的用户 5

    1.5.1 开源 5

    1.5.2 下载量 5

    1.5.3 找出用户 6

    1.5.4 命令行工具用户 6

    1.5.5 嵌入式库 6

    1.5.6 网站后端 6

    1.5.7 著名的用户 6

    第 2 章 命令行基础 8

    2.1 命令行选项 9

    2.1.1 短选项 9

    2.1.2 长选项 10

    2.1.3 选项的参数 10

    2.1.4 带空格的参数 10

    2.1.5 负选项 11

    2.2 不同版本的选项 11

    2.3 URL 11

    2.3.1 scheme 12

    2.3.2 scheme分隔符 12

    2.3.3 不使用scheme 13

    2.3.4 用户名和密码 13

    2.3.5 主机名或地址 13

    2.3.6 端口号 13

    2.3.7 路径 14

    2.3.8 FTP类型 14

    2.3.9 片段 15

    2.3.10 浏览器的“地址栏” 15

    2.3.11 多个选项和多个URL 15

    2.3.12 URL的单独选项 15

    2.3.13 连接重用 16

    2.4 URL通配 16

    2.4.1 数值范围 16

    2.4.2 字母范围 17

    2.4.3 列表 17

    2.4.4 组合 17

    2.4.5 输出变量 17

    2.5 列出所有的命令行选项 18

    2.6 配置文件 18

    2.7 密码和窥探 20

    2.7.1 命令行泄露 20

    2.7.2 网络泄露 20

    2.8 进度指示器 20

    2.8.1 单位 21

    2.8.2 进度指示器图例 21

    第 3 章 使用curl 23

    3.1 详细模式 23

    3.1.1 --trace和--trace-ascii 25

    3.1.2 --trace-time 26

    3.1.3 HTTP 2 27

    3.1.4 --write-out 27

    3.1.5 可用的--write-out 变量 27

    3.1.6 静默模式 29

    3.2 持久连接 29

    3.3 下载 29

    3.3.1 究竟下载了哪些内容 29

    3.3.2 保存下载的内容 30

    3.3.3 用URL指定的文件名保存内容 30

    3.3.4 从服务器获取目标文件名 31

    3.3.5 HTML和字符集 31

    3.3.6 压缩 31

    3.3.7 shell重定向 32

    3.3.8 多个下载 32

    3.3.9 让所有URL使用自己的文件名 33

    3.3.10 “我的浏览器显示的是其他内容” 33

    3.3.11 客户端差异 33

    3.3.12 服务器端差异 34

    3.3.13 中介的欺骗 34

    3.3.14 速率限定 34

    3.3.15 最大的文件 35

    3.3.16 Metalink 35

    3.3.17 在文件系统中保存元数据 36

    3.3.18 --raw 36

    3.3.19 失败重试 36

    3.3.20 恢复下载和下载范围 36

    3.4 上传 37

    3.4.1 支持上传的协议 37

    3.4.2 HTTP 提供了几种“上传”方式 37

    3.4.3 POST 37

    3.4.4 multipart formpost 38

    3.4.5 PUT 38

    3.4.6 FTP上传 38

    3.4.7 SMTP上传 38

    3.4.8 上传的进度指示器 39

    3.4.9 速率限定 39

    3.5 连接 39

    3.5.1 主机名解析技巧 39

    3.5.2 基于c-ares库的域名解析 41

    3.5.3 连接超时 41

    3.5.4 网络接口 41

    3.5.5 本地端口号 42

    3.5.6 keepalive 42

    3.6 超时 43

    3.6.1 允许的最长时间 43

    3.6.2 允许的最长连接时间 43

    3.6.3 传输速率慢到一定程度就退出 43

    3.6.4 保持连接活跃 44

    3.7 .netrc 44

    3.7.1 .netrc的文件格式 44

    3.7.2 启用netrc 45

    3.8 代理 45

    3.8.1 发现你的代理 45

    3.8.2 PAC 46

    3.8.3 代理类型 46

    3.8.4 HTTP 46

    3.8.5 HTTPS和代理 46

    3.8.6 MITM代理 47

    3.8.7 HTTP代理与非HTTP协议 47

    3.8.8 HTTP代理通道 47

    3.8.9 SOCKS类型 48

    3.8.10 代理身份验证 48

    3.8.11 使用HTTPS连接代理 49

    3.8.12 代理环境变量 49

    3.9 退出状态 50

    3.9.1 可用的退出码 50

    3.9.2 错误消息 56

    3.9.3 “未使用” 56

    3.10 FTP 56

    3.10.1 ping-pong 56

    3.10.2 传输模式 57

    3.10.3 身份验证 57

    3.10.4 FTP使用两个连接 57

    3.10.5 如何遍历目录 58

    3.10.6 高级FTP特性 59

    3.11 SCP和SFTP 60

    3.11.1 URL 60

    3.11.2 已知的主机 61

    3.12 SMTP 62

    3.12.1 示例(email.txt) 62

    3.12.2 安全的邮件传输 63

    3.12.3 SMTP URL 63

    3.12.4 不进行MX查找 63

    3.13 TLS 64

    3.13.1 密码 64

    3.13.2 启用TLS 64

    3.13.3 SSL和TLS版本 65

    3.13.4 验证服务器证书 66

    3.13.5 CA存储 66

    3.13.6 证书固定 67

    3.13.7 OCSP装订 67

    3.13.8 客户端证书 68

    3.14 SSLKEYLOGFILE 8

    3.15 复制为curl命令 69

    3.15.1 Firefox 69

    3.15.2 Chrome 70

    3.15.3 Safari 70

    3.15.4 不使用Firefox的开发者工具 71

    3.15.5 不完美 71

    第 4 章 用curl执行HTTP操作 72

    4.1 协议基础 72

    4.1.1 HTTP方法 72

    4.1.2 HTTP协议基础 72

    4.1.3 将URL转换为请求 73

    4.1.4 --path-as-is 73

    4.2 响应 74

    4.2.1 HTTP响应 74

    4.2.2 HTTP响应消息的大小 74

    4.2.3 HTTP响应码 74

    4.2.4 CONNECT响应码 75

    4.2.5 分块传输编码 75

    4.2.6 gzip压缩传输 75

    4.2.7 压缩传输编码 75

    4.2.8 传递传输编码 76

    4.3 HTTP身份验证 76

    4.4 HTTP区间 77

    4.5 HTTP版本 78

    4.6 HTTP POST 78

    4.6.1 Content-Type 79

    4.6.2 POST二进制内容 79

    4.6.3 URL编码 79

    4.6.4 转换为GET 80

    4.6.5 Expect: 100-continue 80

    4.6.6 分块编码的POST 81

    4.6.7 隐藏的表单字段 81

    4.6.8 了解浏览器都发送了些什么 81

    4.6.9 JavaScript和表单 82

    4.7 HTTP multipart formpost 82

    4.7.1 使用curl发送表单 83

    4.7.2 生成的HTTP内容 83

    4.7.3 Content-Type 84

    4.8 -d与-F 84

    4.8.1 HTML Web表单 84

    4.8.2 HTML之外的POST 85

    4.9 重定向 85

    4.9.1 HTTP重定向 85

    4.9.2 永久重定向和临时重定向 85

    4.9.3 让curl遵循重定向 86

    4.9.4 GET还是POST 86

    4.9.5 决定在重定向中使用哪种方法 87

    4.9.6 重定向到其他主机 87

    4.9.7 非HTTP重定向 87

    4.9.8 HTML重定向 87

    4.9.9 JavaScript重定向 87

    4.10 修改HTTP请求 88

    4.10.1 请求方法 88

    4.10.2 自定义标头 88

    4.10.3 referer 89

    4.10.4 User-Agent 89

    4.10.5 时间条件 90

    4.11 PUT 90

    4.12 cookie 91

    4.12.1 cookie引擎 91

    4.12.2 从文件中读取cookie 91

    4.12.3 将cookie写入文件 92

    4.12.4 新cookie会话 92

    4.13 HTTP 2 92

    第 5 章 构建和安装 94

    5.1 安装预构建的二进制包 94

    5.2 从源代码构建 96

    5.2.1 git与tarball 96

    5.2.2 在Linux和类Unix系统上 96

    5.2.3 自动工具 97

    5.2.4 选择TLS后端 97

    5.3 依赖项 98

    5.3.1 zlib 98

    5.3.2 c-ares 98

    5.3.3 libssh2 98

    5.3.4 nghttp2 98

    5.3.5 openldap 98

    5.3.6 librtmp 99

    5.3.7 libmetalink 99

    5.3.8 libpsl 99

    5.3.9 libidn2 99

    5.4 TLS库 99

    5.4.1 用TLS库构建curl 99

    5.4.2 使用boringssl构建curl 102

    第 6 章 libcurl基础 103

    6.1 easy句柄 103

    6.2 “驱动”传输 104

    6.2.1 使用easy接口 105

    6.2.2 使用multi接口 105

    6.2.3 单个传输什么时候结束 107

    6.2.4 使用multi_socket接口 107

    6.2.5 选择一个 108

    6.2.6 多个easy句柄 108

    6.2.7 multi_socket回调 108

    6.2.8 如何开始传输 109

    6.2.9 什么时候结束 110

    6.3 连接重用 110

    6.3.1 easy API连接池 110

    6.3.2 multi API连接池 110

    6.3.3 共享“连接缓存” 111

    6.4 回调 111

    6.4.1 写回调 111

    6.4.2 读回调 112

    6.4.3 进度回调 112

    6.4.4 标头回调 113

    6.4.5 调试回调 114

    6.4.6 sockopt回调 114

    6.4.7 opensocket和closesocket回调 115

    6.4.8 提供文件描述符 115

    6.4.9 closesocket回调 116

    6.5 清理 116

    6.5.1 multi API 116

    6.5.2 easy句柄 116

    6.5.3 域名解析器后端 117

    6.6 代理 118

    6.6.1 代理类型 118

    6.6.2 本地或代理域名查找 119

    6.6.3 哪个代理 119

    6.6.4 代理环境变量 119

    6.6.5 HTTP代理 120

    6.6.6 HTTPS代理 120

    6.7 传输后的信息 121

    6.7.1 可用的信息 121

    6.7.2 在句柄之间共享数据 123

    6.7.3 multi句柄 123

    6.7.4 在easy句柄间共享数据 123

    6.7.5 共享什么 123

    6.7.6 锁定 124

    6.8 API兼容性 124

    6.8.1 版本号 124

    6.8.2 版本号数字的变化 125

    6.8.3 哪个libcurl版本 125

    6.8.4 运行的是哪个libcurl版本 126

    6.9 curl --libcurl 127

    6.10 头文件 128

    6.11 全局初始化 128

    6.12 libcurl多线程 129

    6.13 curl easy选项 129

    6.13.1 设置句柄选项 129

    6.13.2 设置数字选项 129

    6.13.3 获取句柄选项 130

    6.14 CURLcode返回码 130

    6.15 详细操作 130

    6.16 libcurl示例 131

    6.16.1 获取一个简单的HTML页面 131

    6.16.2 获取HTML页面并保存在内存中 132

    第 7 章 用libcurl执行HTTP操作 135

    7.1 HTTP响应 135

    7.1.1 HTTP响应码 135

    7.1.2 关于HTTP的“错误”响应码 136

    7.2 HTTP请求 136

    7.2.1 请求方法 136

    7.2.2 自定义HTTP请求标头 137

    7.3 HTTP版本 139

    7.4 HTTP区间 139

    7.4.1 HTTP身份验证 140

    7.4.2 用户名和密码 140

    7.4.3 要求进行身份验证 140

    7.4.4 Basic 140

    7.5 在libcurl中处理cookie 141

    7.5.1 cookie引擎 141

    7.5.2 设置自定义cookie 142

    7.5.3 导入和导出 142

    7.5.4 cookie文件格式 143

    7.6 下载 144

    7.6.1 使用libcurl进行HTTP下载 144

    7.6.2 同时下载标头 144

    7.7 上传 145

    7.7.1 HTTP上传 145

    7.7.2 HTTP POST 145

    7.7.3 HTTP multipart formpost 145

    第 8 章 语言绑定 146
查看详情
相关图书 / 更多
cURL必知必会
范用:为书籍的一生
汪家明 编著
cURL必知必会
宴飨万年:文物中的中华饮食文化史(足不出户看国博古代饮食文化展,感受跨越万年的烟火气)
王辉
cURL必知必会
八十本书环游地球
大卫·丹穆若什 著;宋明炜 译
cURL必知必会
没有面目的人
理查德·桑内特 著;周悟拿 译
cURL必知必会
(守望者)谁是罗兰·巴特
汪民安 著
cURL必知必会
中国山水画对谈录(跟随十位大师,走近山水画世界)
许钦松 编著
cURL必知必会
鼓楼新悦.采香者:世界香水之源
[法]多米尼克·罗克(Dominique Roques) 著;王祎慈 译;乔溪 审校
cURL必知必会
我是谁?段义孚自传
[美]段义孚 著;志丞 刘苏 译
cURL必知必会
父权制与资本积累:国际劳动分工中的女性(共域世界史)
[德]玛丽亚·米斯 著;李昕一 徐明强 译
cURL必知必会
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
cURL必知必会
以文学为业:一部体制史(艺术与社会译丛)
杰拉尔德·格拉夫 著;蒋思婷 译;童可依
cURL必知必会
原子与灰烬:核灾难的历史
[美]沙希利·浦洛基
您可能感兴趣 / 更多
cURL必知必会
中国绘画:大师和原理
[瑞典]喜龙仁(Osvald Siren) 著;[中国]郑涛 译
cURL必知必会
数字化涅槃 在数字化浪潮中引领未来,探索数字化转型的真相与机遇 解锁数字时代的领导力密码,引领组织的可持续发展
[瑞典]阿拉什·盖伦(Arash Gilan) 乔纳斯·哈马贝格(Jonas Hammarberg) 著;颉腾文化 出品
cURL必知必会
汉娜·阿伦特:爱与恶
[瑞典]安·黑贝莱因
cURL必知必会
尼尔斯骑鹅旅行记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[瑞典]塞尔玛·拉格洛夫
cURL必知必会
尼尔斯骑鹅旅行记 全彩注音版 经典儿童文学分级阅读丛书 小学语文课外阅读 少儿文学童话故事书
[瑞典]塞尔玛·拉格洛芙
cURL必知必会
黑天鹅意识:企业如何应对充满变数的未来
[瑞典]霍坎·扬肯斯加德(H.kan Jankensg.rd)
cURL必知必会
拥有强心脏!
[瑞典]马丁·拉茨 后浪
cURL必知必会
你准备好上小学了吗?(魔法象·图画书王国)
[瑞典]安娜·菲斯克 译者:宁蒙 绘者
cURL必知必会
蜥蜴脑:写给大家看的图画心理学
[瑞典]达恩·卡茨(Dan Katz)著 (瑞典)伊冯娜·斯文松(Yvonne
cURL必知必会
TensorFlow 2机器学习实战:聚焦经济金融科研与产业的深度学习模型
[瑞典]以赛亚·赫尔(Isaiah Hull)著 朱文强 译
cURL必知必会
蚂蚁们的领奖时刻
[瑞典]卡佳·巴尔古姆 著
cURL必知必会
水下的世界
[瑞典]亚历山德拉·达尔奎斯特