前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在python中实现模拟网页认证

在python中实现模拟网页认证

作者头像
羽翰尘
修改2019-11-26 15:39:03
9670
修改2019-11-26 15:39:03
举报
文章被收录于专栏:技术向

本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/web-login-under-linux-command/

一个用来在命令行下进行网页认证的脚本。

  • 需要把url 更换为实际的 请求url才可以*

使用示例

代码语言:txt
复制
python web-login.py in
python web-login.py out
代码语言:txt
复制
import urllib.parse
import urllib.request
import argparse
import getpass

url = your_url
username = None
password = None
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'


def request_input(type):
    if type == 'username':
        return input("Please enter username:")
    elif type == 'password' :
        return getpass.getpass("Please enter password:")
parser = argparse.ArgumentParser()
parser.add_argument('op_type', type = str, help = 'for login: in, for logout: out')
parser.add_argument('--user_name', type = str, help = 'Enter your account\' name')

result, unparsed = parser.parse_known_args()


headers = { 'User-Agent' : user_agent }

# enter the user name
if result.user_name:
    username = result.user_name
else:
    username = request_input('username')

# enter password when login
if True == (result.op_type == 'in'):
    password = request_input('password')


login_values = {
    'action':'login',
    'username' : username,
    'password' : password,
    'ac_id':'20',
    'save_me':'0',
    'ajax':'1'
}
logout_values = {
    'action':'logout',
    'username': username,
    'ajax':'1'
}
# login or logout?
if True == (result.op_type == 'in'):
    data = urllib.parse.urlencode(login_values).encode(encoding='UTF8')
else:
    data = urllib.parse.urlencode(logout_values).encode(encoding='UTF8')


req = urllib.request.Request(url, data, headers)
response = urllib.request.urlopen(req)
the_page = response.read()
print(the_page.decode("utf8"))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档