Pythonシミュレーションログインの多様な実装方式

4508 ワード

Pythonシミュレーションログインの多様な実装方式
Python 3.6ベース
#coding:utf-8
import sys
import io
import urllib.request
import http.cookiejar



##################         ##################
##################        cookie   ##################

# #           
# sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
# #          
# url = 'http://www.xxx.com.cn/member/index'

# #         cookie,           
# cookie_str = 'PHPSESSID=go07n3aart4qoflrfe0m3nod42'

# #      
# request = urllib.request.Request(url)
# #  cookie
# request.add_header('cookie', cookie_str)
# #     
# request.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36')
# #     
# response = urllib.request.urlopen(request)
# print(response.read().decode('utf-8'))




##################         ##################
##################            cookie   ##################

# #           
# sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')


# #     
# #           
# url = 'http://www.xxx.com.cn/member/index'
# login_url = "http://www.xxx.com.cn/login/quick_login"
# login_username = "xxx"
# login_password = "xxx"

# #     POST   
# login_data = {
#     "username" : login_username,
#     "password" : login_password
# }
# post_data = urllib.parse.urlencode(login_data).encode('utf-8')

# #     
# headers = {'User-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
# #      
# req = urllib.request.Request(login_url, headers = headers, data = post_data)


# #  cookie
# cookie = http.cookiejar.CookieJar()

# # cookie  opener
# opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))


# #      ,    opener    cookie,        
# resp = opener.open(req)

# #      
# req = urllib.request.Request(url, headers = headers)

# resp = opener.open(req)

# print(resp.read().decode('utf-8'))




##################         ##################
##################   Cookie    ##################

# #           
# sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

# #     
# #           
# url = 'http://www.xxx.com.cn/member/index'
# login_url = "http://www.xxx.com.cn/login/quick_login"
# login_username = "xxx"
# login_password = "xxx"

# #     POST   
# login_data = {
#     "username" : login_username,
#     "password" : login_password
# }
# post_data = urllib.parse.urlencode(login_data).encode('utf-8')

# #     
# headers = {'User-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
# #      
# req = urllib.request.Request(login_url, headers = headers, data = post_data)

# #    cookie   ,      cookie.txt
# filename = 'cookie.txt'
# #    MozillaCookieJar       cookie,      
# cookie = http.cookiejar.MozillaCookieJar(filename)

# # cookie  opener
# opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))


# #      ,    opener    cookie,        
# resp = opener.open(req)
# #  cookie   
# cookie.save(ignore_discard=True, ignore_expires=True)

# #      
# req = urllib.request.Request(url, headers = headers)

# resp = opener.open(req)

# print(resp.read().decode('utf-8'))




##################         ##################
##################       Cookie    ##################

#           
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

#     
#           
url = 'http://www.xxx.com.cn/member/index'

#     
headers = {'User-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
#      
req = urllib.request.Request(url, headers = headers)

#    cookie       ,    ,        
filename = 'cookie.txt'
#  MozillaCookieJar    
cookie = http.cookiejar.MozillaCookieJar()
#      cookie     
cookie.load(filename, ignore_discard=True, ignore_expires=True)
#  urllib.request  HTTPCookieProcessor     cookie   ,  CookieHandler
handler = urllib.request.HTTPCookieProcessor(cookie)
#  CookieHandler  opener
opener = urllib.request.build_opener(handler)
#  opener open      
response = opener.open(req)
#    
print(response.read().decode('utf-8'))