具有相同名称的cookie不会出现在curl或apache http客户端中

时间:2015-03-26 08:04:52

标签: curl cookies apache-httpclient-4.x androidhttpclient

我正在尝试从网站保存登录Cookie。在我发出POST请求后,我收到了cookie。以下是Google Chrome enter image description here

中的Cookie列表

但是当我使用curl时

  

curl -D - --data" somedata = value" url -o file.html

我只得到每个重复cookie的第一次出现

> Set-Cookie: khamsat0=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000
Set-Cookie: khamsat1=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000
Set-Cookie: khamsat2=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000
Set-Cookie: khamsat3=; max-age=0; expires=Thu, 01 Jan 1970 00:00:00 -0000
Set-Cookie: rack.session=BAh7CUkiD3Nlc3Npb25faWQGOgZFVEkiRWUwMzc1YmM4YjBlMWQwZDYxOTNi%0AMDRjOTFlYTc4MWEwZjAyNTJhODAzNmRmMmVlMWU2NmUzY2Y5Y2M5Mzk5ZmMG%0AOwBGSSIJY3NyZgY7AEZJIiVlZDlkZGQ2YWJkODNjZTU0OGVhNjJkMmQxYzhk%0AMDE5ZgY7AEZJIg10cmFja2luZwY7AEZ7B0kiFEhUVFBfVVNFUl9BR0VOVAY7%0AAFRJIi1kOGY0NzliOWNjMDQ1MTg1ZjBiNmUzOThkMGVlMGQwYTI0ZDM4ZDUy%0ABjsARkkiGUhUVFBfQUNDRVBUX0xBTkdVQUdFBjsAVEkiLWRhMzlhM2VlNWU2%0AYjRiMGQzMjU1YmZlZjk1NjAxODkwYWZkODA3MDkGOwBGSSIPY3NyZi50b2tl%0AbgY7AFRJIjFaUmJodTRuVTR2WkRsRWtPNWFsUEVZc3FldlE4QTU4aUZ1bjFN%0AcFVsS1pvPQY7AEY%3D%0A--c7e0e2d2cbf025f608d5c76e0f7b58ef602bca3c; path=/; HttpOnly

Apache DefaultHttpClient

的情况相同

问题是:如何获取混乱的cookie?

1 个答案:

答案 0 :(得分:2)

如果使用curl时使用Chrome时返回的标题与使用Chrome时返回的标题不同,那么可能是,因为网站的行为方式不同,具体取决于它检测到的用户代理。

您可以尝试使用curl设置更具Chrome浏览效果的用户代理,否则尝试模仿Chrome更接近它可能会有所作为。

但是,浏览器也可以使用javascript等设置cookie,curl不支持,因此不一定能确保你能获得完全相同的cookie集。