如何从cookie-jar文件中选择特定cookie的值以用于将来的请求?
我需要在网站上提交一份表格,要求将当前的会话信息作为表格数据传递。 sessionId在登录页面上设置为cookie。
首次请求(身份验证)
curl -d "username=my_user&pass=my_pass" http://mywebsite.com/login.php -c, --cookie-jar my-cookies
第二次请求(表单提交)
curl -d "sessionId=jk5lkdr7cdqkn1ptqa0rmndbr7&formField1=abc&formField2=def" http://mywebsite.com/getReport.php -b, --cookie my-cookies
在上述请求数据中,我手动从cookie文件中复制了会话ID。 cookie文件看起来像这样。 (sessionId = PHPSESSID)
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
mywebsite.com FALSE / FALSE 0 PHPSESSID jk5lkdr7cdqkn1ptqa0rmndbr7
.mywebsite.com TRUE / FALSE 1516507485 info crownandcaliber%40mediaiqdigital.com
.mywebsite.com TRUE / FALSE 1507867485 pref deleted
.mywebsite.com TRUE / FALSE 0 affiliate_flag Y3Jvd25hbmRjYWxpYmVyQG1lZGlhaXFkaWdpdGFsLmNvbQ%3D%3D
.mywebsite.com TRUE / FALSE 0 cookie name%3ATm8gYWR2ZXJ0aXNlciBuYW1lIGF2YWlsYWJsZQ%3D%3D%3B

我是否可以通过编程方式将第一个请求中设置的PHPSESSID cookie的值拉入第二个请求的表单数据中?
答案 0 :(得分:1)
下面的代码从文件 youfilewithcookie 中读取第5行,获取第7列的内容并在名为 sessId 的变量中读取。
{{1}}