【问题标题】:wget result from site with cookieswget 来自带有 cookie 的站点的结果
【发布时间】:2013-05-06 13:33:35
【问题描述】:

尝试在网站的此处输入一个数字并使用 WGET 获取结果。 [http://]

我已经尝试wget --cookies=on --save-cookies=site.txt URL 来保存 sessionID/cookie, 然后继续使用'wget --cookies=on --keep-session-cookies --load-cookies=site.txt URL',但没有运气。

还尝试监视使用 WireShark 发送的 POST 数据并尝试使用 wget --post-data --referer 等复制它,但也没有运气。

谁有一个简单的方法来做到这一点?我全是耳朵! :)

非常感谢所有帮助。

谢谢。

【问题讨论】:

  • 您查看过您网站的 HTML 源代码吗?它在 URL 中使用了一些 Javascript 和一些 ;jsessionid=73ABDB6... ...
  • 是的,先生。我尝试发送 URL+;jsessionid=SESSION_ID_NUMBER (存储在 cookie 中)。还尝试使用 --header "Cookie: JSESSIONID=SESSION_ID_NUMBER" 进行设置,这是使用浏览器发送 POST 数据时 WireShark 的输出。

标签: linux bash curl wget


【解决方案1】:

诀窍是将第二个请求发送到http://202.91.22.186/dms-scw-dtac_th/page/?wicket:interface=:0:2:::0:

我的Xidel 似乎是这样工作的(没有要测试的有效号码)

xidel "http://202.91.22.186/dms-scw-dtac_th/page/"  -f '{"post": "number=0812345678", "url": resolve-uri("?wicket:interface=:0:2:::0:")}' -e "#id5" 

【讨论】:

  • 我也尝试使用 wget 将第二个请求发送到该 URI。仍然没有成功。总是得到“页面过期”页面。我的猜测是还涉及一些其他计算,因为使用 WireShark 观看时发送的完整请求 URI 显示每次按下提交按钮总共有 3 个请求,正如您提到的 URI 以 wicket:interface=:0:2 开头:::0: 并以 random=0.xxxxxxxxxxxxx 结尾。
  • 其他请求(除了最后一个)和随机部分无关紧要,因为它不适合我
  • 谢谢您,先生。它与 xidel 一起使用 :) 知道如何使用 wget 完成相同的过程吗?
  • 不知道如何用 wget 来做;但是 xidel 会将它对 stderr 的所有 get/post 请求打印出来,所以如果你使用 wget 和 cookie 选项发送相同的请求,它应该可以工作
猜你喜欢
  • 2013-11-18
  • 2015-10-15
  • 1970-01-01
  • 2016-08-20
  • 1970-01-01
  • 2012-06-02
  • 2014-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多