sessionidpython
Ⅰ 關於用python寫的登陸程序,怎麼獲取cookie值並返回出來
兩種方式:
一、
介面,可以pip install requests模塊,安裝一個requests,對介面支持簡單好用
例子,寫一個getcookie()方法
import requests
def getcookie():
data={'username':username,'password':pwd}
session=requests.session()
loginurl="http://xxx.com/login"
#具體要介面登錄後才可以獲得cookies
result=session.post(loginurl,data=data)
cookies=requests.utils.dict_from_cookiejar(session.cookies)
return cookies
二、
UI自動化登錄:可以easy_install -U selenium,安裝selenium模塊,支持UI自動化,模擬前端,用戶名、密碼登錄後,這種方式也可以獲得cookie
一個例子,登錄csdn,並且獲取cookie,用戶名和密碼我隱去了,可以參考。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium
import os,time
import sys
sys.path.append("..")
import web
import datetime
#默認得安裝一個火狐瀏覽器
class webconn:
def __init__(self,drivertype):
self.drivertype=drivertype
def web_conn(self):
PASS=0
FAIL=0
get_cookie={}
t=datetime.datetime.now()
starttime=datetime.datetime.now()
driver = webdriver.Firefox()
try:
driver.get('https://passport.csdn.net/account/login')
time.sleep(2)
assert u'帳號登錄' in driver.title
driver.find_element_by_id("username").send_keys(u"yoursername")
print "輸入用戶名"
driver.find_element_by_id("password").send_keys(u"yourpassword")
print "輸入密碼"
driver.find_element_by_class_name("logging").click()
time.sleep(2)
assert u'全球最大中文' in driver.title
driver.add_cookie({'name':'key-aaaaaa','value':'value-bbbb'})
for cookie in driver.get_cookies():
print "%s -> %s" %(cookie['name'],cookie['value'])
get_cookie[cookie['name'].encode("UTF-8")]=cookie['value'].encode("UTF-8")
print "cookie cookie cookie cookie cookie"
print get_cookie
PASS=PASS+1
except Exception,e:
print(str(Exception)+":"+str(e))
FAIL=FAIL+1
finally:
driver.close()
driver.quit()
endtime=datetime.datetime.now()
totaltime=endtime-starttime
usetime=str(endtime-starttime)
hour=usetime.split(':').pop(0)
minute=usetime.split(':').pop(1)
second=usetime.split(':').pop(2)
totaltime=float(hour)*60*60+float(minute)*60+float(second)
totaltime=str(totaltime)+"s"
return get_cookie
Ⅱ 想用python語句獲取界面cookie中的sessionid,百度了代碼獲取出來的卻是頁面架構,向大神求助
#importcookielib
fromurllib2importRequest,build_opener,HTTPCookieProcessor,HTTPHandler
importtime,urllib
#cj用來保存訪問過程中的cookie,用它來初始化opener,以後每次用
#opener來訪問url時,都會使用該cookie。這樣每次請求的一些變數都
#會相同,如:sessionid
cj=cookielib.CookieJar()
opener=build_opener(HTTPCookieProcessor(cj),HTTPHandler)
f=opener.open("http://10.23.51.20:8001/ok.html")
html=f.read()
print"Thecookiesare:"
forcookieincj:
printcookie
time.sleep(1)
foriinrange(10):
f=opener.open("http://10.23.51.20:8001/ok.html")
html=f.read()
print"Thecookiesare:"
forcookieincj:
printcookie
time.sleep(10)