123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- from browsermobproxy import Server
- from selenium import webdriver
- import time
- import os
- from selenium.webdriver.chrome.options import Options
- # configuration
- #browsermobPath = './browsermob-proxy-2.1.4/bin/browsermob-proxy'
- browsermobPath = 'D:\\fyf\\tool\\browsermob-proxy-2.1.4\\bin\\browsermob-proxy'
- username = '972360526'
- password = '61241623FYFzwq'
- tokenFile = os.getcwd()+'./token.conf'
- cookiesFile = os.getcwd()+'./cookie.conf'
- chromedriver = os.getcwd()+"./chromedriver.exe"
- def writeResult(filePath, fileContext):
- if os.path.exists(filePath):
- os.remove(filePath)
- f = open(filePath, 'w')
- f.write(fileContext)
- print(fileContext)
- f.close()
- return
- def GetCookieAndToken():
- server = Server(browsermobPath)
- server.start()
- proxy = server.create_proxy()
- profile = webdriver.FirefoxProfile()
- profile.set_proxy(proxy.selenium_proxy())
- chrome_options = Options()
- chrome_options.add_argument('--ignore-certificate-errors')
- chrome_options.add_argument('--proxy-server={0}'.format(proxy.proxy))
- os.environ["webdriver.chrome.driver"] = chromedriver
- driver = webdriver.Chrome(chromedriver,chrome_options=chrome_options)
- #driver = webdriver.PhantomJS(firefox_profile=profile,executable_path = geckodriverPah)
- proxy.new_har("bugly", options={"captureHeaders":True})
- driver.get("https://bugly.qq.com/v2/")
- time.sleep(3)
- driver.find_element_by_class_name("login_btn").click()
- time.sleep(3)
- driver.switch_to.frame("ptlogin_iframe")
- time.sleep(3)
- driver.find_element_by_id("switcher_plogin").click()
- time.sleep(3)
- driver.find_element_by_id("u").send_keys(username)
- time.sleep(3)
- driver.find_element_by_id("p").clear()
- driver.find_element_by_id("p").send_keys(password)
- time.sleep(3)
- driver.find_element_by_id("login_button").click()
- time.sleep(10)
- driver.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/div/div/div/div[2]/table/tbody/tr/td[1]/div/div[1]/img').click()
- time.sleep(3)
- driver.find_element_by_xpath('//*[@id="root"]/div/div/div[2]/div/div[1]/div[2]/ul[2]/li/a').click()
- time.sleep(10)
- strCookies = ""
- strToken = ""
- cookies = driver.get_cookies()
- requestDict = proxy.har['log']['entries']
- for index in range(len(requestDict)):
- for k in requestDict[index]:
- if k == "request" and requestDict[index][k]['url'].find('v2/issueList')>=0:
- for inn in range(len(requestDict[index][k]['headers'])):
- for ik in requestDict[index][k]['headers'][inn]:
- if ik == 'name' and requestDict[index][k]['headers'][inn][ik]=='X-token':
- strToken = requestDict[index][k]['headers'][inn]['value']
- if ik == 'name' and requestDict[index][k]['headers'][inn][ik]=='Cookie' and requestDict[index][k]['headers'][inn]['value'].find('pt2gguin')>=0 and requestDict[index][k]['headers'][inn]['value'].find('bugly_session')>=0 and requestDict[index][k]['headers'][inn]['value'].find('referrer')>=0:
- strCookies = requestDict[index][k]['headers'][inn]['value']
- if strToken!="" and strCookies!="":
- break;
- writeResult(tokenFile,strToken)
- writeResult(cookiesFile,strCookies)
- server.stop()
- if __name__ == '__main__':
- GetCookieAndToken()
|