大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下如何使用python实现自动登录后台管理系统,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在曲麻莱等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站制作 网站设计制作定制网站制作,公司网站建设,企业网站建设,高端网站设计,营销型网站,外贸营销网站建设,曲麻莱网站建设费用合理。首先感谢下网络上的各位大神和博主,通过学习各位大神的文章,才实现了该脚本
①首先浏览器运行真是系统通过fiddler抓包,抓取到登录地址(后面的地址和头部信息等都是通过fiddler抓取的)
并获取头信息,header信息里面Accept-Encoding: gzip, deflate去掉吧,免得后面提取页面的url时无法解码,通过代码实现后,这个时候回返回html文本,从文本里面获取下一步要进入的系统的地址,这个地址已经附上cookie即token了,只有经过了这一步请求,才能进行下一步的对系统里面的内容进行操作(之前没有经过这一步,就进行了具体操作的url请求,总是返回重定位到登录界面)。
②然后再进行这个带token的url的请求
③请求完成后即可进行想要的操作了
下面直接上代码,有一些信息是公司的信息,我直接屏蔽换成通用字符串
# coding=utf-8 import urllib.request import urllib import http.cookiejar from database_functions import * import re # 正则表达式匹配规则 regx = re.compile(r'(.*)(href=\")(.*)(\"\starget=.*bms.*)') # 定义一个方法用于生成请求头信息,处理cookie def getopener(head): cj = http.cookiejar.CookieJar() pro = urllib.request.HTTPCookieProcessor(cj) opener = urllib.request.build_opener(pro) header = [] for key, value in head.items(): elem = (key, value) header.append(elem) opener.addheaders = header return opener def modify_appeal_status_pass(phone): index, status = get_appeal_by_phone(phone) # 封装头信息,伪装成浏览器 header = { 'Connection': 'Keep-Alive', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Accept': 'application/json, text/javascript,text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36', 'X-Requested-With': 'XMLHttpRequest', 'Host': 'xxx.xxx.xxx', } # 登录地址 login_url = 'http://xxx.xxx.xxx/xx-xxx/login.do' # request封装cookie和头信息 opener = getopener(header) urllib.request.install_opener(opener) username = '***' # 你的用户名 password = '***' # 你的密码 postdict = { 'username': username, 'password': password } # 登录请求 postdata = urllib.parse.urlencode(postdict).encode('utf-8') login_response = urllib.request.Request(login_url, data=postdata, headers=header) #登录系统 login_webpage = urllib.request.urlopen(login_response) # 返回的html页面 login_data = login_webpage.read().decode() # 获取系统地址 bms_url = regx.findall(login_data)[0][2] # 请求xxxx bms_response = urllib.request.Request(bms_url, headers=header) bms_webpage = urllib.request.urlopen(bms_response) # 返回的系统后台页面 bms_data = bms_webpage.read().decode() # 对xx状态进行修改 update_url = "http://xxx.xxx.xxx/xxx/xxx/xxx/xxx/{index}".format(index=index) update_response = urllib.request.Request(update_url, headers=header) update_webpage = urllib.request.urlopen(update_response) update_data = update_webpage.read().decode() print(update_data)
看完了这篇文章,相信你对“如何使用python实现自动登录后台管理系统”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道,感谢各位的阅读!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。