2016-11-28 23 views
0

如何從瀏覽器使用python獲取網站的cookie?目前正在使用的代碼是:如何使用python獲取網站的cookie

get_title = lambda html: re.findall('<title>(.*?)</title>', html, flags=re.DOTALL)[0].strip() 
url = config.base_url 
public_html = urllib2.urlopen(url).read() 
print get_title(public_html) 
cj = browsercookie.firefox() 
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) 
login_html = opener.open(url).read() 
print get_title(login_html) 

此代碼來在應用程序登錄後 config.base_url =「https://10.194.13.71」 這是給這個錯誤:C **文件「/根/桌面/ mysonicwallnew /testservice.py」,第26行,在test_service 的public_html = urllib2.urlopen(URL).read()

CertificateError:主機名'10 .194.31.71' 不匹配的任一 'www.abc.com' ,'abc.com' ** 我該如何解決這個問題?

+0

你試過'cookielib'嗎?參考:http://stackoverflow.com/a/189580/4350834 – Prabhakar

+0

@Prabhakar:請找到編輯的問題 –

+0

如果你只是想讀取餅乾,你應該嘗試 'r = requests.get(url) url ='https ://example.com/login' print r.cookies' – Prabhakar

回答

0

這對我的作品 -

import requests 
import browsercookie 
import re 

cj = browsercookie.chrome() 
r = requests.get('http://stackoverflow.com', cookies=cj) 

get_title = lambda html: re.findall('<title>(.*?)</title>', html, flags=re.DOTALL)[0].strip() 
print r.content 
print get_title(r.content) 

嘗試用你所面對的錯誤,或者你正在尋找從cookie得到更具體的答案確切的事情更新問題。

+0

我運行它的瀏覽器是firefox..I實際上是在selenium webdriver上運行一個測試用例..所以在測試用例的中間我必須檢查是否該人已登錄或沒有.. –

+0

我將代碼更改爲cj = browsercookie.firefox()並得到此錯誤:** Traceback(最近呼叫最後): 文件「/root/Desktop/mysonicwallnew/testservice.py 」第24行,在test_service CJ = browsercookie.firefox() 文件 「/usr/local/lib/python2.7/site-packages/browsercookie/__init__.py」,線207,在Firefox 返回火狐(cookie_file ).load() 文件「/usr/local/lib/python2.7/site-packages/browsercookie/__init__.py」,第167行,載入中 cur.execute('select host,path,isSecur e,expiry,name,value from moz_cookies') DatabaseError:文件被加密或者不是數據庫 ** –

+0

請找到編輯後的問題 –

相關問題