如何用 python 自动 post,完成网页认证上网?

2016-03-11 20:41:52 +08:00
 evin

学校上网需要 web 认证,想是否可以通过 python 模拟发包 写个 py 文件放进路由器里自动认证,然后中继 wifi 让多台设备连接上网
这是我抓包的结果

6560 次点击
所在节点    Python
20 条回复
evin
2016-03-11 20:46:34 +08:00
import requests

Target='http://auth.wifi.com/40/login.cgi?x=8576198279906591137598122957861719&c=33825515'
Data={
"portal_subtype": "account",
"user_name": "账号",
"password": "密码"
}
r = requests.post(Target,Data)
print r.text


这样写对吗?
xia0chun
2016-03-11 20:50:25 +08:00
最好加上 UA ,以防万一被封
evin
2016-03-11 21:01:27 +08:00
@xia0chun
```
s = requests.session()
data = {"portal_subtype": "account","user_name": "账号","password": "密码"
}
res=s.post('http://auth.wifi.com/40/pc.html?x=3180345486836446256183969493333751&c=78633491',data);//认证的网页
s.get('http://auth.wifi.com/40/login.cgi?x=8576198279906591137598122957861719&c=33825515');
```
为什么 终端 python 运行 告诉我 没有定义 requests
xia0chun
2016-03-11 21:05:40 +08:00
@evin 你要先 import requests ,如果没有安装 requests 的话,要先安装。
evin
2016-03-11 21:06:59 +08:00
@xia0chun 原来是忘记安装 request 模块了了😂
wenyu1001
2016-03-11 21:14:55 +08:00
pip install requests
=========================

#!/usr/bin/env python
# encoding: utf-8

import requests


def test():
d = {'key':'value'}
headers = {'user-agent': 'my-app/0.0.1'}
url = 'http://httpbin.org/post'

r = requests.post(url, headers=headers, data=d)

if r.status_code == 200:
print "ok"

if __name__ == "__main__":
test()
evin
2016-03-11 21:34:30 +08:00
@wenyu1001 谢谢 测试发现 密码是加密发送的😂 。。。。
Kilerd
2016-03-11 21:55:27 +08:00
看你发的第一张图就知道密码是加密了的, 居然不知道加密方式就去试程序。
lhbc
2016-03-11 22:36:51 +08:00
路由器跑 Python 多累啊,这事不是 curl 最合适吗?
binux
2016-03-11 22:40:38 +08:00
用 web 认证的 wifi, 连接不加密的。
可以搞到一大堆账号了啊
VYSE
2016-03-11 22:56:09 +08:00
LZ 你这个 CHARLES 包括 CHROME 右键不是都有转成 curl 的选项么,根本不用上 PYTHON 啊
Izual
2016-03-12 00:30:47 +08:00
chrome 浏览器 F12 然后 copy as curl ?
evin
2016-03-12 16:10:26 +08:00
@VYSE 😂 我是菜鸟 ,居然还有这个功能 谢谢 提示
evin
2016-03-12 16:10:34 +08:00
@Izual 😂 我是菜鸟 ,居然还有这个功能 谢谢 提示
mxonline
2016-03-12 22:05:51 +08:00
用 open-wrt +wifidog 就行了,没必要上 Python 啊
evin
2016-03-13 12:16:09 +08:00
@mxonline wifidog 是搭建认证好吗
mxonline
2016-03-14 22:34:19 +08:00
@evin wifidog 是开源的,而且认证端支持 php,可以看下文档
1stlulu
2016-03-16 22:40:22 +08:00
楼主我受你鼓舞给蔽校写了个 Android 端的一键连网
https://play.google.com/store/apps/details?id=xyz.jilulu.jamesji.netify
evin
2016-03-17 09:06:24 +08:00
@1stlulu 感谢,但是我是 mac 和 ios 😂 本来想放进路由器里的
1stlulu
2016-03-17 13:25:03 +08:00
@evin “蔽校”不是“贵校”

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/262878

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX