コード例 #1
0
def test_feature_vendor():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert nav['vendor'] == 'Google Inc.'
        nav = generate_navigator_js(navigator='firefox')
        assert nav['vendor'] == ''
        nav = generate_navigator_js(navigator='ie')
        assert nav['vendor'] == ''
コード例 #2
0
ファイル: user_agent.py プロジェクト: lorien/user_agent
def test_feature_vendor():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert nav['vendor'] == 'Google Inc.'
        nav = generate_navigator_js(navigator='firefox')
        assert nav['vendor'] == ''
        nav = generate_navigator_js(navigator='ie')
        assert nav['vendor'] == ''
コード例 #3
0
def test_android_firefox():
    for _ in range(50):
        nav = generate_navigator_js(os='android', navigator='firefox')
        assert 'armv' in nav['platform']
        assert 'Linux armv' in nav['oscpu']
        assert 'Android' in nav['userAgent'].split('(')[1].split(')')[0]
        assert 'Android' in nav['appVersion']
コード例 #4
0
ファイル: user_agent.py プロジェクト: lorien/user_agent
def test_android_firefox():
    for _ in range(50):
        nav = generate_navigator_js(os='android', navigator='firefox')
        assert 'armv' in nav['platform']
        assert 'Linux armv' in nav['oscpu']
        assert 'Android' in nav['userAgent'].split('(')[1].split(')')[0]
        assert 'Android' in nav['appVersion']
コード例 #5
0
 async def cloak_navigator(self):
     """
     Emulate another browser's navigator properties
     and set webdriver false, inject jQuery.
     """
     self.navigator_config = generate_navigator_js(os=self.os,
                                                   navigator=("chrome"))
     self.navigator_config.update(self.navigator_defaults)
     await self.resync_navigator()
コード例 #6
0
 def query(q, debug=False):
     req = Request(
         quote("https://duckduckgo.com/lite/?q={0}".format(q), ':/?='))
     req.add_header("User-Agent", generate_navigator_js()["userAgent"])
     try:
         return Result.get_all(make_soup(urlopen(req).read()))
     except Exception as e:
         if debug:
             print(e)
     return None
コード例 #7
0
def test_generate_navigator_js():
    for _ in range(50):
        nav = generate_navigator_js()
        assert set(nav.keys()) == set([
            'appCodeName', 'appName', 'appVersion',
            'platform', 'userAgent', 'oscpu',
            'product', 'productSub', 'vendor', 'vendorSub',
            'buildID',
        ])

        assert nav['appCodeName'] == 'Mozilla'
        assert nav['appName'] in ('Netscape', 'Microsoft Internet Explorer')
コード例 #8
0
ファイル: test.py プロジェクト: surfingit/user_agent
    def test_generate_navigator_js(self):
        for x in range(100):
            nav = generate_navigator_js()
            self.assertEqual(
                set([
                    'appCodeName', 'appName', 'appVersion', 'platform',
                    'userAgent', 'oscpu'
                ]), set(nav.keys()))

            self.assertEqual(nav['appCodeName'], 'Mozilla')
            self.assertTrue(nav['appName'] in ('Netscape',
                                               'Microsoft Internet Explorer'))
コード例 #9
0
ファイル: user_agent.py プロジェクト: lorien/user_agent
def test_generate_navigator_js():
    for _ in range(50):
        nav = generate_navigator_js()
        assert set(nav.keys()) == set([
            'appCodeName', 'appName', 'appVersion',
            'platform', 'userAgent', 'oscpu',
            'product', 'productSub', 'vendor', 'vendorSub',
            'buildID',
        ])

        assert nav['appCodeName'] == 'Mozilla'
        assert nav['appName'] in ('Netscape', 'Microsoft Internet Explorer')
コード例 #10
0
 async def cloak_navigator(self):
     """Emulate another browser's navigator properties and set webdriver
        false, inject jQuery.
     """
     jquery_js = await util.load_file(self.jquery_data)
     override_js = await util.load_file(self.override_data)
     navigator_config = generate_navigator_js(os=("linux", "mac", "win"),
                                              navigator=("chrome"))
     navigator_config["webdriver"] = False
     dump = json.dumps(navigator_config)
     _navigator = f"const _navigator = {dump};"
     await self.page.evaluateOnNewDocument(
         "() => {\n%s\n%s\n%s}" % (_navigator, jquery_js, override_js))
     return navigator_config["userAgent"]
コード例 #11
0
def script_ua():
    parser = ArgumentParser()
    parser.add_argument("-e", "--extended", action="store_true", default=False)
    parser.add_argument("-o", "--os")
    parser.add_argument("-n", "--navigator")
    parser.add_argument("-d", "--device-type")
    opts = parser.parse_args()
    nav = generate_navigator_js(os=opts.os,
                                navigator=opts.navigator,
                                device_type=opts.device_type)
    if opts.extended:
        print(json.dumps(nav, indent=2))
    else:
        print(nav["userAgent"])
コード例 #12
0
ファイル: cli.py プロジェクト: charanbir1990/sampleCode
def script_ua():
    parser = ArgumentParser()
    parser.add_argument('-e', '--extended', action='store_true', default=False)
    parser.add_argument('-o', '--os')
    parser.add_argument('-n', '--navigator')
    parser.add_argument('-d', '--device-type')
    opts = parser.parse_args()
    nav = generate_navigator_js(os=opts.os,
                                navigator=opts.navigator,
                                device_type=opts.device_type)
    if opts.extended:
        print(json.dumps(nav, indent=2))
    else:
        print(nav['userAgent'])
コード例 #13
0
ファイル: cli.py プロジェクト: lorien/user_agent
def script_ua():
    parser = ArgumentParser()
    parser.add_argument('-e', '--extended', action='store_true',
                        default=False)
    parser.add_argument('-o', '--os')
    parser.add_argument('-n', '--navigator')
    parser.add_argument('-d', '--device-type')
    opts = parser.parse_args()
    nav = generate_navigator_js(os=opts.os,
                                navigator=opts.navigator,
                                device_type=opts.device_type)
    if opts.extended:
        print(json.dumps(nav, indent=2))
    else:
        print(nav['userAgent'])
コード例 #14
0
ファイル: solver.py プロジェクト: nesatuf/nonoCAPTCHA
    async def _cloak_navigator(self):
        """Cloaks navigator values to emulate another browser and sets
        webdriver false.
        """

        override_js = await util.load_file(
            settings["data_files"]["override_js"])
        navigator_config = generate_navigator_js(os=("linux", "mac", "win"),
                                                 navigator=("chrome"))
        navigator_config["webdriver"] = False
        dump = json.dumps(navigator_config)
        _navigator = f"const _navigator = {dump};"
        await self.page.evaluateOnNewDocument("() => {\n%s\n%s\n}" %
                                              (_navigator, override_js))

        return navigator_config["userAgent"]
コード例 #15
0
ファイル: user_agent.py プロジェクト: lorien/user_agent
def test_feature_vendor_sub():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert nav['vendorSub'] == ''
コード例 #16
0
def test_feature_chrome_appversion():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert ('Mozilla/' + nav['appVersion']) == nav['userAgent']
コード例 #17
0
ファイル: user_agent.py プロジェクト: lorien/user_agent
def test_feature_product():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert nav['product'] == 'Gecko'
コード例 #18
0
ファイル: user_agent.py プロジェクト: lorien/user_agent
def test_feature_chrome_appversion():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert ('Mozilla/' + nav['appVersion']) == nav['userAgent']
コード例 #19
0
def test_feature_product():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert nav['product'] == 'Gecko'
コード例 #20
0
def test_feature_vendor_sub():
    for _ in range(50):
        nav = generate_navigator_js(navigator='chrome')
        assert nav['vendorSub'] == ''