Script Python pour la connexion / déconnexion d'authentification non SSO de l'Université d'Hiroshima

Python script for HINET login without SSO/logout (Hiroshima-univ)

Pour pratiquer Python et sélénium Pour vous connecter et vous déconnecter de l'authentification non SSO de l'Université d'Hiroshima sur le terminal A écrit le programme

s'identifier)

./nsso.py login

Se déconnecter

./nsso.py logout

Si vous ne souhaitez pas utiliser le transfert X11

DISPLAY=unix:0.0 ./nsso.py login

Et...

nsso.py


#!/usr/bin/env python2
# coding: utf-8

# program for Only "without SSO" !!!!!!

#sudo pip install selenium

from selenium                       import webdriver
from selenium.webdriver.common.by   import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui  import Select
from selenium.common.exceptions     import NoSuchElementException

from getpass                        import getpass
import sys
#import re

#   https://idp.media.hiroshima-u.ac.jp/idp/Authn/UserPassword
#   https://hinet.hiroshima-u.ac.jp/loginweb.html
def logout(browser):
    try:
        browser.get('https://hinet.hiroshima-u.ac.jp/cgi-bin/Logout.cgi')
        browser.close()
        print "logout success!"
    except:
        print "ERROR!!!"
        browser.close()


def without_sso_login(browser):
    try:
        browser.get('https://hinet.hiroshima-u.ac.jp/login_frame.html')
        username = raw_input("Username :")
        password = getpass(  "Password :")
        browser.find_element(By.NAME,"uid").send_keys(username)
        browser.find_element(By.NAME,"pwd").send_keys(password)
        #raw_input("y:")
        browser.find_element_by_xpath("//input[@type='submit']").click()
        page=browser.page_source
        if page.count("Login succeeded") >= 1 :
            print "login success!"
        else:
            print "login filure..."
        browser.close()
    except:
        print "ERROR!!!"
        browser.close()

if __name__ == '__main__':
    param = sys.argv
    print "login : [./nsso.py] or [./nsso.py login]"
    print "logout: [./nsso.py logout]"
    print "SSO    :https://idp.media.hiroshima-u.ac.jp/idp/Authn/UserPassword"
    print "Not SSO:https://hinet.hiroshima-u.ac.jp/loginweb.html"
    print "              ---> https://hinet.hiroshima-u.ac.jp/login_frame.html"
    browser = webdriver.Firefox()
    if len(param) == 2 and param[1]=="logout":
        print "=======LOGOUT========="
        logout(browser)
        print "======= END ========="
    elif (len(param)==2 and param[1]=="login") or len(param)==1:
        print "=======LOGIN========="
        without_sso_login(browser)
        print "======= END ========="

Recommended Posts

Script Python pour la connexion / déconnexion d'authentification non SSO de l'Université d'Hiroshima
Script Python pour le décodage ldapsearch base64
Script de création de couche AWS pour python
Script de pilote pour le calcul paramétrique des scripts Python
[Python] Un script utile pour le traitement Excel / csv