curl - 从cookie-jar文件中选择特定的cookie值
如何从cookie-jar文件中为未来的请求选择特定cookie的值?curl - 从cookie-jar文件中选择特定的cookie值
我需要在网站上提交表单,要求将当前sessionId作为表单数据传递。 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 \t FALSE \t/\t FALSE \t 0 \t PHPSESSID \t jk5lkdr7cdqkn1ptqa0rmndbr7
.mywebsite.com \t TRUE \t/\t FALSE \t 1516507485 \t info \t crownandcaliber%40mediaiqdigital.com
.mywebsite.com \t TRUE \t/\t FALSE \t 1507867485 \t pref \t deleted
.mywebsite.com \t TRUE \t/\t FALSE \t 0 \t affiliate_flag \t Y3Jvd25hbmRjYWxpYmVyQG1lZGlhaXFkaWdpdGFsLmNvbQ%3D%3D
.mywebsite.com \t TRUE \t/\t FALSE \t 0 \t cookie \t name%3ATm8gYWR2ZXJ0aXNlciBuYW1lIGF2YWlsYWJsZQ%3D%3D%3B
有我的方式progammatically拉其在所述第一请求到表格数据的第二请求设置PHPSESSID cookie的值?
下面的代码从一个文件youfilewithcookie读取5日线,获得第七列的内容,并在一个名为sessId变量读取它。
awk 'NR==5' youfilewithcookie | awk {'print $7'} | (read sessId; yourculcommand here with $sessId)
请复习[如何写出一个好答案](https://*.com/help/how-to-answer)。不接受代码的答案是不鼓励的,因为他们没有解释他们如何解决问题中的问题。你应该更新你的答案,以解释这是什么以及如何解决问题。 - 这不仅有助于OP,也有助于解决其他类似问题。 – FluffyKitten
结束了这个,为了解决会话cookie不在第5行的情况: 'awk'/ PHPSESSID /'jivox-cookies | awk {'print $ 7'} | ...' –
@IuriiDrozdov - 不需要帮助保持会话活着;通过传递会话cookie来做到这一点。我期望提取会话cookie的_value_并将其作为请求#2的表单数据传递。 (除了传递整个cookie文件。) –
为什么你不从文件中读取呢? –
awk'NR == 5'youfilewithcookie | awk {'print $ 7'} | (阅读sessId; yourcul命令在这里与$ sessId) –