网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月03日漏签0天
广西科技大学吧 关注:131,457贴子:3,140,719
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回广西科技大学吧
>0< 加载中...

【技术贴】简单的Python爬虫:POST模拟登陆校园网

  • 只看楼主
  • 收藏

  • 回复
  • 贴吧用户_0eb675P
  • 科大礼堂
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
原文在我的博客 http://blog.zhenlanbing.com/archives/211
很长时间以来在Linux环境下编程,使用Virtual Box安装CentOS,用NAT网络和端口转发,再使用Putty连接localhost进行编程。但最近我需要在其他教室连接到虚拟机,用Windows远程桌面是一个解决方案。但是只有Windows系统可用,如果我想上课时用手机连就没戏了,所以我开始使用桥接。
桥接的问题是联网。
学校校园网不是免费的,是要登陆才能用。有两种登陆方式,一是Windows客户端,二是网页登陆。不用想,肯定是二。
但我的CentOS系统没有图形界面,所以只能考虑使用脚本模拟用户登录。
首先我们学校校园网认证的网址是http://172.16.8.3,使用火狐浏览器打开,按F12打开开发者工具,点击网络。然后输入用户名,密码登陆,然后就哭了,跳到学校主页去了。我们没有看到想象中的POST请求,而是一个GET请求,说明网页被重定向了。
我开始诅咒火狐不能查看历史请求,但我又想到了另一个方案,我输入错误的密码,这样试一下。果然,火狐显示了POST请求,请求内容如下:
Host: 172.16.8.3
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: mn,zh-cn;q=0.8,zh;q=0.6,en-us;q=0.4,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://172.16.8.3/
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 52
DDDDD=4406290&upass=111111&0MKKey=%B5%C7%C2%BC+Login
HTTP头并不重要,重要的是POST部分,也就是:
DDDDD=4406290&upass=111111&0MKKey=%B5%C7%C2%BC+Login
DDDDD是用户名,upass是密码,后面MKKey这个参数应该是对登陆的说明,乱码的原因是学校使用GBK编码,而火狐用的是UTF-8,这不重要,原样发过去就可以了。那么Python代码就很好写了:
import urllib.request
postdata = “DDDDD=这里换成你的账号&upass=这里换成你的密码&0MKKey=%B5%C7%C2%BC+Login”
postdata = postdata.encode(‘utf-8′)
fp = urllib.request.urlopen(“http://172.16.8.3“, postdata)
mybytes = fp.read()
print(mybytes)
注销校园网的简单的多了,只要GET请求http://172.16.8.3/F.html:
import urllib.request
fp = urllib.request.urlopen(“http://172.16.8.3/F.html“)
mybytes = fp.read()
print(mybytes)
当然,我没有解析HTML而是直接将HTML打印了出来,对于没有学过网页开发的同学就是噩梦,但我建议你登陆、注销后可以通过ping来确定是否已经登录/注销,比如
ping http://www.baidu.com
至此,我的虚拟机可以连接到互联网了。


  • wei出来
  • 柳石校门
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
虽然不是很详细,但是是好帖,刚刚学习,基本什么都不知道


2025-09-03 00:44:10
广告
不感兴趣
开通SVIP免广告
  • ASIDES
  • 宗元广场
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
咳咳


  • 蛋蛋隐隐作疼
  • 螺蛳山顶
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
博客挂了


  • 大屁股兄弟
  • 宗元桥头
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
来帮我这个爬虫


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回广西科技大学吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示