Пример #1
0
    def __init__(self, url, request_cookiejar):
        super(NikeBrowser, self).__init__()

        self.setWindowTitle('终结者浏览器')

        # 将字典转化成QNetworkCookieJar的格式
        self.cookie_jar = QtNetwork.QNetworkCookieJar()
        cookies = []
        # 直接通过cookie.name和cookie.value的方式迭代
        for cookie in request_cookiejar:
            my_cookie = QtNetwork.QNetworkCookie(
                QtCore.QByteArray(cookie.name),
                QtCore.QByteArray(cookie.value))
            my_cookie.setDomain('.nike.com')
            cookies.append(my_cookie)
        self.cookie_jar.setAllCookies(cookies)
        self.page().networkAccessManager().setCookieJar(self.cookie_jar)
        # self.cookie_jar.setCookiesFromUrl(cookies, QUrl
        # ('https://secure-store.nike.com/cn/checkout/html/cart.jsp?country=CN&l=cart&site=nikestore&returnURL=http://www.nike.com/cn/zh_cn/'))
        self.load(QtCore.QUrl(url))
        self.show()
Пример #2
0
 def cookiesForUrl(self, url):
     cookieList = []
     for (name, value) in self._cookies.get(url.host(), {}).items():
         cookieList.append(QtNetwork.QNetworkCookie(name, value))
     return cookieList
Пример #3
0
 def _cookiesFromCookieList(self, cookie_list):
     cookies = []
     for (name, value) in cookie_list:
         c = QtNetwork.QNetworkCookie(name, value)
         cookies.append(c)
     return cookies
Пример #4
0
    def Browse(self, url, quality):

        if 'kissanime' in url:
            cookie_file = '/tmp/AnimeWatch/kcookie.txt'
        elif 'kisscartoon' in url:
            cookie_file = '/tmp/AnimeWatch/kcookieC.txt'
        elif 'kissasian' in url:
            cookie_file = '/tmp/AnimeWatch/kcookieD.txt'
        elif 'masterani' in url:
            cookie_file = '/tmp/AnimeWatch/animeSquare.txt'
        elif 'animeget' in url:
            cookie_file = '/tmp/AnimeWatch/animeget.txt'
        elif 'animeplace' in url:
            cookie_file = '/tmp/AnimeWatch/animeplace.txt'
        elif 'moetube' in url:
            cookie_file = '/tmp/AnimeWatch/animeHQ.txt'
            #if os.path.exists(cookie_file):
            #	os.remove(cookie_file)

        if 'animeget' in url or 'masterani' in url or 'animeplace' in url or 'moetube' in url:
            content = ccurl(url)
        else:
            content = 'checking_browser'

        if 'checking_browser' in content:
            if not os.path.exists(cookie_file):

                self.cookie = QtNetwork.QNetworkCookieJar()
                self.nam = NetWorkManager()
                self.nam.setCookieJar(self.cookie)
            else:
                cookie_arr = QtNetwork.QNetworkCookieJar()
                c = []
                f = open(cookie_file, 'r')
                lines = f.readlines()
                f.close()
                for i in lines:
                    k = re.sub('\n', '', i)
                    l = k.split('	')
                    d = QtNetwork.QNetworkCookie()
                    d.setDomain(l[0])
                    if l[1] == 'TRUE':
                        l1 = True
                    else:
                        l1 = False
                    d.setHttpOnly(l1)
                    d.setPath(l[2])
                    if l[3] == 'TRUE':
                        l3 = True
                    else:
                        l3 = False
                    d.setSecure(l3)
                    l4 = int(l[4])
                    print(l4)
                    d.setExpirationDate(QtCore.QDateTime.fromTime_t(l4))
                    d.setName(l[5])
                    d.setValue(l[6])
                    c.append(d)
                    #cookie_arr.append(d)
                cookie_arr.setAllCookies(c)
                self.nam = NetWorkManager()
                self.nam.setCookieJar(cookie_arr)

            self.web = Browser(url, quality)
            self.tab_2 = QtGui.QWidget()
            self.tab_2.setMaximumSize(300, 50)
            self.tab_2.setWindowTitle('Wait!')
            self.horizontalLayout_5 = QtGui.QVBoxLayout(self.tab_2)
            print('Browse: ' + url)

            self.horizontalLayout_5.addWidget(self.web)
            self.tab_2.show()
            #self.tab_2.hide()
            #self.web.show()
            self.web.page().setNetworkAccessManager(self.nam)
            self.web.load(QUrl(url))
            cnt = 0

            while (not os.path.exists(cookie_file) and cnt < 20):
                #print()
                print('wait Clouflare ')
                time.sleep(1)
                QtGui.QApplication.processEvents()
                cnt = cnt + 1
                self.tab_2.setWindowTitle('Wait! Cloudflare ' + str(cnt) + 's')

            if cnt >= 20 and not os.path.exists(cookie_file):
                f = open(cookie_file, 'w')
                f.close()
            lnk_file = '/tmp/AnimeWatch/lnk.txt'
            if os.path.exists(lnk_file):
                os.remove(lnk_file)
            cnt = 0
            if ('kisscartoon' in url or 'kissasian' in url) and quality:
                while (not os.path.exists(lnk_file) and cnt < 20):
                    print('wait Finding Link ')
                    time.sleep(1)
                    QtGui.QApplication.processEvents()
                    cnt = cnt + 1
                    self.tab_2.setWindowTitle('Link Resolving ' + str(cnt) +
                                              's')

                if os.path.exists(lnk_file):
                    self.web.setHtml('<html>Link Obtained</html>')
                    link = open(lnk_file).read()
                    print(link)
                else:
                    self.web.setHtml('<html>No Link Found</html>')
                    print('No Link Available or Clear The Cache')
            else:
                self.web.setHtml('<html>cookie Obtained</html>')
            self.tab_2.hide()
        else:
            f = open(cookie_file, 'w')
            f.close()