curl:POST和cookie问题

时间:2017-10-05 15:31:21

标签: curl cookies

我使用curl从网页下载一些天气数据,该网页要求表格填写用​​户名,密码和操作字段。以下命令工作正常,我能够成功登录。 Cookie会保存在" cookie.txt"

curl -c cookie.txt -d "username=###" -d "password=####" -d "action=login" https://####/includes/forms/form_action.php

接下来,我首先使用Mozilla Firefox中的开发人员工具来发现我必须发送哪个命令来获取数据:

curl 'https://####/includes/weather_graph.php' -H 'Host: forecast.prewind.eu' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0' -H 'Accept: text/html, */*; q=0.01' -H 'Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Referer: https://####/includes/weather.php' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'X-Requested-With: XMLHttpRequest' -H 'Cookie: PHPSESSID=st3prmqrvl5jl0qkobo3h68191' -H 'Connection: keep-alive' --data 'parkID=###&promoterID=###&pDate=###'

它工作正常,但正如你所看到的那样,每当我每天下载这些数据时,Cookie都不是我想要的。然后我将命令更改为包含-b cookie.txt,以便使用我已获得的最新cookie。

curl -b cookie.txt 'https://####/includes/weather_graph.php' -H 'Host: forecast.prewind.eu' -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:56.0) Gecko/20100101 Firefox/56.0' -H 'Accept: text/html, */*; q=0.01' -H 'Accept-Language: pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3' --compressed -H 'Referer: https://####/includes/weather.php' -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' -H 'X-Requested-With: XMLHttpRequest' -H 'Connection: keep-alive' --data 'parkID=###&promoterID=###&pDate=###'

奇怪的是,这个新命令不起作用,服务器没有做出任何反应,我不知道如何解决它。标题和post参数是完全相同的,唯一改变的信息是cookie。

0 个答案:

没有答案