易燃物汇聚 YouTube 有声书与书评
cURL必知必会 封面

cURL必知必会

丹尼尔·斯坦伯格

2324人在读
12.4万字总字数
¥29.5定价

有声书与视频解读 YouTube视频解读 19

内容简介

curl是一个利用URL语法在命令行下工作的文件传输工具,支持文件上传和下载。作为cURL项目的创造人和负责人,作者结合自己的开发和使用经验,为我们提供了curl的详尽指南。书中内容涵盖cURL项目介绍、作为命令行工具的用法、作为函数库的用法,等等。

读者书评

★★★★★

做开发的时候,嫌Postman太大,启动太慢,而且没办法在纯控制台环境运行,所以会用curl做一些简单的get,post,但从没系统的学习过curl。其实看完书知道curl真的很强大,还提供libcurl这样的神器(其实是现有libcurl再有命令行工具)。 这本书权威性当然毋庸置疑,不过有些地方我觉得还是没说透,可能要照顾面面俱到的问题吧。不过作为手册粗略浏览,了解有什么,大致怎么用即可,不理解,不记得的部分也没事,想起来的时候直接查看帮助即可。 推荐这样的读物,比纯手册或者从入门到精通系列好多了

★★★★★

做技术的人都可以看看, 尤其是设计思想, 默认简单,可配置化

★★★☆☆

不难,能学到些小 tips 以及开源维护的历史

★★★★★

了解了cURL的发展史,以及前半部分的基本使用方法。本来就是当工具用的,也没有深究后半部分的libcurl的使用。命令行的交互没有界面直观,再服务器上发请求,curl是很强大的,所以这个工具是基础能力,需要掌握。

★★★★★

curl作者写的。如果想用curl,直接看一下help文档就行,没必要读这本书。不过这本书还是能让我们了解,看着简简单单一个命令,里面内容真是繁杂,方方面面都要考虑

☆☆☆☆☆

一、查看网页源码 直接在curl命令后加上网址,就可以看到网页源码。我们以网址www.sina.com为例(选择该网址,主要因为它的网页代码较短) $ curl www.sina.com 如果要把这个网页保存下来,可以使用`-o`参数,这就相当于使用wget命令了。 $ curl -o [文件名] www.sina.com 二、自动跳转 有的网址是自动跳转的。使用`-L`参数,curl就会跳转到新的网址。 $ curl -L www.sina.com 键入上面的命令,结果就自动跳转为www.sina.com.cn。 三、显示头信息 `-i`参数可以显示http response的头信息,连同网页代码一起。 $ curl -i www.sina.com 四、显示通信过程 `-v`参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。 $ curl -v www.sina.com 如果你觉得上面的信息还不够,那么下面的命令可以查看更详细的通信过程。 $ curl --trace output.txt www.sina.com 五、发送表单信息 发送表单信息有GET和POST两种方法。GET方法相对简单,只要把数据附在网址后面就行。 $ curl example.com/form.cgi?data=xxx POST方法必须把数据和网址分开,curl就要用到--data参数 $ curl -X POST --data "data=xxx" example.com/form.cgi 如果你的数据没有经过表单编码,还可以让curl为你编码,参数是`--data-urlencode`。 $ curl -X POST--data-urlencode "date=April 1" example.com/form.cgi 六、HTTP动词 curl默认的HTTP动词是GET,使用`-X`参数可以支持其他动词。 $ curl -X POST www.example.com $ curl -X DELETE www.example.com 七、文件上传 $ curl --form upload=@localfilename --form press=OK [URL] 八、Referer字段 有时你需要在http request头信息中,提供一个referer字段,表示你是从哪里跳转过来的。 $ curl --referer http://www.example.com http://www.example.com 九、User Agent字段 这个字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。 iPhone4的User Agent是 Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 curl可以这样模拟: $ curl --user-agent "[User Agent]" [URL] 十、cookie 使用`--cookie`参数,可以让curl发送cookie。 $ curl --cookie "name=xxx" www.example.com 至于具体的cookie的值,可以从http response头信息的`Set-Cookie`字段中得到。 `-c cookie-file`可以保存服务器返回的cookie到文件,`-b cookie-file`可以使用这个文件作为cookie信息,进行后续的请求。 $ curl -c cookies http://example.com $ curl -b cookies http://example.com 十一、增加头信息 有时需要在http request之中,自行增加一个头信息。`--header`参数就可以起到这个作用。 $ curl --header "Content-Type:application/json" http://example.com 十二、HTTP认证 有些网域需要HTTP认证,这时curl需要用到`--user`参数。 $ curl --user name:password example.com

★★★★★

作者就是curl的主力维护者,本书权威性毋庸置疑,内容也很好懂。不过这纸书价格可真不便宜,毕竟这么薄。

★★★★★

因为某些工作原因,迅速过了一遍libcurl的部分。基础概念和思想讲的还是很清楚的,对于理解和使用curl有很大帮助。不过如果要深入,还是要结合其中代码和实例继续研究。

★★★★★

这本书内容超出预期,如果看的时候不光是针对工具本身,而是带上工具设计,从工具反观服务端功能设计,收获会更多一些。

★★★★★

可以作为工具书来以备查阅,其中也有一些网络相关的知识,建议快速浏览一遍,等需要的时候再来查阅!

书籍信息

作者丹尼尔·斯坦伯格
译者薛命灯
出版社人民邮电出版社
出版时间2019-12-20
ISBN9787115523860
分类科学技术-工业技术
格式EPUB
完结状态连载中
章节数68