霍格沃兹测试开发学社

《Python测试开发进阶训练营》(随到随学!)
2023年第2期《Python全栈开发与自动化测试班》(开班在即)
报名联系weixin/qq:2314507862

从基础到高级,带你深入了解和使用curl命令(二)

前言

之前我们介绍了curl命令的请求网络,设置代理等操作,本文我们继续来介绍curl命令的操作,本文我们将会介绍curl命令中有关cookie的操作。

获取cookie

  • 要获取服务器发送的Cookie,可以使用curl命令的-c选项,将Cookie保存到文件中。例如:
curl -c cookiec.txt http://www.baidu.com

执行后cookie信息就被存到cookiec.txt里面。

  • 获取http的response里面的 header 信息。例如:
curl -D cookied.txt http://www.baidu.com

随后我们可以查看是否生成了两个TXT文件,并且获取内容,如下:

dir | findstr cookie
2024/04/02  16:33               183 cookiec.txt
2024/04/02  16:33               400 cookied.txt

type .\cookied.txt
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 2381
Content-Type: text/html
Date: Tue, 02 Apr 2024 08:31:59 GMT
Etag: "588604c1-94d"
Last-Modified: Mon, 23 Jan 2017 13:27:29 GMT
Pragma: no-cache
Server: bfe/1.0.8.18
Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/

使用cookie

很多网站都是通过监视你的cookie信息来判断你是否按规矩访问他们的网站的,因此我们需要使用保存的cookie信息。内置option: -b,示例如下:

curl -b cookiec.txt http://www.linux.com

curl还可以根据旧的cookie写出新cookie并发送到网站,示例如下:

curl -b cookies.txt -c newcookies.txt www.cookiesite. com

管理Cookie

有时候,我们可能需要手动编辑Cookie文件或者清除其中的某些Cookie。这可以通过编辑cookies.txt文件来实现。每行代表一个Cookie,格式通常为name=value,可以根据需要添加、修改或删除相应的Cookie。

自定义Cookie

有时候,我们需要手动设置Cookie的内容,以便进行特定的测试或调试。可以使用curl命令的--cookie选项来设置自定义的Cookie:

curl --cookie "name=value" http://example.com

总结

通过本文的介绍,我们应该已经了解了如何使用curl命令获取和使用Cookie,以及一些实用的技巧。Cookie管理在Web开发和API调用中非常重要,熟练掌握这些技巧将有助于提高工作效率和调试能力。继续学习和实践,我们将能够更加灵活地应用curl命令来处理Cookie,从而更好地完成各种任务和项目。

posted @ 2024-04-03 19:08  霍格沃兹测试开发学社  阅读(1)  评论(0编辑  收藏  举报