由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教个wget获取要密码登录的http页面的问题
相关主题
现在怎么越来越多的公司用cookie了?这不是过时的技術吗?文件下载求助
json web token (jwt) 不能revoke,放cookie有啥缺点?请教程序
在浏览器登录谷歌账户后无论访问哪个网站它都要监控啊node.js用哪个plugin来做log in, session time out之类的管理用户登录?
从网站抓内容的软件或程序请教vc6.0问题
请问如何实现自动向网站提交数据的程序?Ajax里面怎么设置cookie
如何从程序里自动访问网站?A网站能够拿到B网站保存在客户端的cookie么?
如何编程从一个网站download所有 *.xml文件?cookie的问题
python download pdfHTML5爆惊天漏洞:海量Cookie可让硬盘爆仓
相关话题的讨论汇总
话题: wget话题: web话题: 页面话题: cookie话题: curl
进入Programming版参与讨论
1 (共1页)
o******1
发帖数: 1046
1
目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有
从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。
但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。
但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。
看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一
起sha256加密,还有form的action函数是未知的。
请教俩问题:
1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页
面都能用wget(或者curl)返回吗?
2. 具体我这个case,有没有什么建议呢?
谢谢!
c********1
发帖数: 5269
2
I use selenium(with python or java) to get secured web page, it works well.

【在 o******1 的大作中提到】
: 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有
: 从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。
: 但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。
: 但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。
: 看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一
: 起sha256加密,还有form的action函数是未知的。
: 请教俩问题:
: 1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页
: 面都能用wget(或者curl)返回吗?
: 2. 具体我这个case,有没有什么建议呢?

o******1
发帖数: 1046
3
因为是从gateway(linux box)上执行这个操作,存储资源有限,系统都是embedded
linux版本。所以从wget试起,实在不行才会考虑curl。

【在 c********1 的大作中提到】
: I use selenium(with python or java) to get secured web page, it works well.
c********1
发帖数: 5269
4
It is tricky to manually tracking cookies, and deal with encryption and
https encryption.
You can try curl if resource is not an issue.
curl should not use a lot of more computer resouce than wget.

【在 o******1 的大作中提到】
: 因为是从gateway(linux box)上执行这个操作,存储资源有限,系统都是embedded
: linux版本。所以从wget试起,实在不行才会考虑curl。

o******1
发帖数: 1046
5
多谢!那个网页倒不是https协议,就是直接端口80的http协议。原则上是不是只要给
对了cookie和密码,就应该正确返回呢?

【在 c********1 的大作中提到】
: It is tricky to manually tracking cookies, and deal with encryption and
: https encryption.
: You can try curl if resource is not an issue.
: curl should not use a lot of more computer resouce than wget.

c*********e
发帖数: 16335
6
你这种做法,其实就是csrf,这是hacker常用的伎俩。一般为了避免这个hack,在网页上
有个隐藏的field,是csrf token,每次由server side给出这个token的值,然后用户
submit之后,server side会检查这个token是否和设置的一致。
你看看网页的request里面有没有submit token?

【在 o******1 的大作中提到】
: 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有
: 从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。
: 但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。
: 但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。
: 看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一
: 起sha256加密,还有form的action函数是未知的。
: 请教俩问题:
: 1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页
: 面都能用wget(或者curl)返回吗?
: 2. 具体我这个case,有没有什么建议呢?

c********1
发帖数: 5269
7
You can use fiddler to monitor the communication between web client and web
server.
http://www.telerik.com/fiddler
原则上只要给 send the same data as a logined web broswer.
You can manually use a web browser to login, and check the communication
between web browser and web server..

【在 o******1 的大作中提到】
: 多谢!那个网页倒不是https协议,就是直接端口80的http协议。原则上是不是只要给
: 对了cookie和密码,就应该正确返回呢?

l*******m
发帖数: 1096
8
直接 ssh 写scripts, 安全又方便

【在 o******1 的大作中提到】
: 目的是想获取router的一些即时的信息,但是这个router不支持snmp,现在想到的只有
: 从http页面用wget(或者curl)搞。当然是有大量的相似的router,所以必须自动化。
: 但是搞不定这种登录的情形。比如登录页面是http://172.16.0.1/login/,需要获取数据的页面是http://172.16.0.1/diagnostics/。我先用wget从http://172.16.0.1/login/保存一个cookies.txt,同时加了--keep-session-cookies选项。对比了直接从浏览器的cookie,这个获取的cookies.txt内容一模一样。
: 但是下一步就不行了。我用了--load-cookies,然后再用--post-data把http://172.16.0.1/diagnostics/页面form中input的参数pass过去,仔细检查过,没有typo。但是就是获取不到登录后的信息,wget返回的还是未登录前的http文件。
: 看了一下这个页面的source,好像有一些javascript函数,还有把密码和一段string一
: 起sha256加密,还有form的action函数是未知的。
: 请教俩问题:
: 1. 原则上,只要所有信息输入正确,命令行输入正确,所有需要authentication的页
: 面都能用wget(或者curl)返回吗?
: 2. 具体我这个case,有没有什么建议呢?

c*********e
发帖数: 16335
9
有的web app,在你登录进去后,有个session cookie,这个session cookie是存在
browser的内存里的,browser关闭的时候,session cookie就消失了。

web

【在 c********1 的大作中提到】
: You can use fiddler to monitor the communication between web client and web
: server.
: http://www.telerik.com/fiddler
: 原则上只要给 send the same data as a logined web broswer.
: You can manually use a web browser to login, and check the communication
: between web browser and web server..

c********1
发帖数: 5269
10
My understanding of [session cookie]. I did not verify that.
[session cookie] is in memory, it can not be read by javascript, however it
will be sent to web server.

【在 c*********e 的大作中提到】
: 有的web app,在你登录进去后,有个session cookie,这个session cookie是存在
: browser的内存里的,browser关闭的时候,session cookie就消失了。
:
: web

1 (共1页)
进入Programming版参与讨论
相关主题
HTML5爆惊天漏洞:海量Cookie可让硬盘爆仓请问如何实现自动向网站提交数据的程序?
how to remove cookie using JS/jQuery?如何从程序里自动访问网站?
怎么防止duplicate vote 比较好?如何编程从一个网站download所有 *.xml文件?
linkedin上无法隐藏自己的profile (转载)python download pdf
现在怎么越来越多的公司用cookie了?这不是过时的技術吗?文件下载求助
json web token (jwt) 不能revoke,放cookie有啥缺点?请教程序
在浏览器登录谷歌账户后无论访问哪个网站它都要监控啊node.js用哪个plugin来做log in, session time out之类的管理用户登录?
从网站抓内容的软件或程序请教vc6.0问题
相关话题的讨论汇总
话题: wget话题: web话题: 页面话题: cookie话题: curl