当前位置: 首页>>代码示例>>Python>>正文


Python treq.get函数代码示例

本文整理汇总了Python中treq.get函数的典型用法代码示例。如果您正苦于以下问题:Python get函数的具体用法?Python get怎么用?Python get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了get函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: main

def main(reactor):
    print('List of tuples')
    resp = yield treq.get('http://httpbin.org/get',
                          params=[('foo', 'bar'), ('baz', 'bax')])
    content = yield resp.text()
    print(content)

    print('Single value dictionary')
    resp = yield treq.get('http://httpbin.org/get',
                          params={'foo': 'bar', 'baz': 'bax'})
    content = yield resp.text()
    print(content)

    print('Multi value dictionary')
    resp = yield treq.get('http://httpbin.org/get',
                          params={'foo': ['bar', 'baz', 'bax']})
    content = yield resp.text()
    print(content)

    print('Mixed value dictionary')
    resp = yield treq.get('http://httpbin.org/get',
                          params={'foo': ['bar', 'baz'], 'bax': 'quux'})
    content = yield resp.text()
    print(content)

    print('Preserved query parameters')
    resp = yield treq.get('http://httpbin.org/get?foo=bar',
                          params={'baz': 'bax'})
    content = yield resp.text()
    print(content)
开发者ID:JunaidLoonat,项目名称:treq,代码行数:30,代码来源:query_params.py

示例2: test_has_header

    def test_has_header(self):
        class Api(object):
            app = Klein()

            @app.route('/')
            @validate(has_header('X-Foo'))
            def route(self, req):
                pass

        srv = yield ToyServer.from_test(self, Api().app)
        resp = yield treq.get(srv.url, persistent=False)

        self.assertEqual(json.loads((yield resp.content())), {
            'errors': [{
                'type': 'header_missing',
                'message': "Header 'X-Foo' is missing"
            }]
        })

        resp = yield treq.get(
            srv.url,
            headers={'X-Foo': ['bar']},
            persistent=False)

        self.assertEqual(resp.code, http.OK)
开发者ID:praekelt,项目名称:vumi-http-retry-api,代码行数:25,代码来源:test_validate.py

示例3: test_body_schema

    def test_body_schema(self):
        class Api(object):
            app = Klein()

            @app.route('/')
            @json_body
            @validate(body_schema({'properties': {'foo': {'type': 'string'}}}))
            def route(self, req, body):
                pass

        srv = yield ToyServer.from_test(self, Api().app)
        resp = yield treq.get(
            srv.url,
            persistent=False,
            data=json.dumps({'foo': 23}))

        content = yield resp.json()
        self.assertEqual(content['result'], {
            'errors': [{
                'type': 'invalid_body',
                'message': "23 is not of type 'string'",
                'schema_path': ['properties', 'foo', 'type'],
            }]
        })
        self.assertEqual(content['status'], 400)
        self.assertEqual(content['code'], 'Bad Request')
        self.assertEqual(content['description'], 'api usage error')

        resp = yield treq.get(
            srv.url,
            persistent=False,
            data=json.dumps({'foo': 'bar'}))

        self.assertEqual(resp.code, http.OK)
开发者ID:praekelt,项目名称:junebug,代码行数:34,代码来源:test_validate.py

示例4: test_body_schema

    def test_body_schema(self):
        class Api(object):
            app = Klein()

            @app.route('/')
            @json_body
            @validate(body_schema({'properties': {'foo': {'type': 'string'}}}))
            def route(self, req, body):
                pass

        srv = yield ToyServer.from_test(self, Api().app)
        resp = yield treq.get(
            srv.url,
            persistent=False,
            data=json.dumps({'foo': 23}))

        self.assertEqual(json.loads((yield resp.content())), {
            'errors': [{
                'type': 'invalid_body',
                'message': "23 is not of type 'string'"
            }]
        })

        resp = yield treq.get(
            srv.url,
            persistent=False,
            data=json.dumps({'foo': 'bar'}))

        self.assertEqual(resp.code, http.OK)
开发者ID:praekelt,项目名称:vumi-http-retry-api,代码行数:29,代码来源:test_validate.py

示例5: process_item

    def process_item(self, item, spider):
        try:
            if type(item) is UrlItem:
                # Call Pagespeed API
                url = item.get('url', '')
                params={'url' : url, 'key' : self.api_key }
                #logging.debug('PageSpeedPipeline:' + self.PAGESPEED_URL + str(params))

                treq.get(self.PAGESPEED_URL, params=params).addCallback(self.api_done)
                #r = requests.get(self.PAGESPEED_URL, params=params)

                '''
                response = yield treq.get(self.PAGESPEED_URL, params=params)
                code = yield treq.code(response)

                if (code is 200):
                    result = yield treq.text(response)

                    with self.connection.cursor() as cursor:
                        # Store result in DB
                        cursor.execute("""INSERT INTO pagespeed (url, result) VALUES(%s, %s)""", ( url, result ) )
                        self.connection.commit()
                '''
                            
        except:
            logging.exception("PageSpeedPipeline Error %s", item.get('url', ''))
            
        return item
开发者ID:natoinet,项目名称:seoscraper,代码行数:28,代码来源:pipelines.py

示例6: test_custom_agent

 def test_custom_agent(self):
     """
     A custom Agent is used if specified.
     """
     custom_agent = mock.Mock()
     treq.get('https://www.example.org/', agent=custom_agent)
     self.HTTPClient.assert_called_once_with(custom_agent)
开发者ID:JayH5,项目名称:treq,代码行数:7,代码来源:test_api.py

示例7: main

def main(reactor):
    tor = yield txtorcon.connect(
        reactor,
        UNIXClientEndpoint(reactor, "/var/run/tor/control")
    )

    print("Connected to Tor version {}".format(tor.version))

    url = 'https://www.torproject.org:443'
    print("Downloading {}".format(url))
    resp = yield treq.get(url, agent=tor.web_agent())

    print("   {} bytes".format(resp.length))
    data = yield resp.text()
    print("Got {} bytes:\n{}\n[...]{}".format(
        len(data),
        data[:120],
        data[-120:],
    ))

    print("Creating a circuit")
    state = yield tor.create_state()
    circ = yield state.build_circuit()
    yield circ.when_built()
    print("  path: {}".format(" -> ".join([r.ip for r in circ.path])))

    print("Downloading meejah's public key via above circuit...")
    config = yield tor.get_config()
    resp = yield treq.get(
        'https://meejah.ca/meejah.asc',
        agent=circ.web_agent(reactor, config.socks_endpoint(reactor)),
    )
    data = yield resp.text()
    print(data)
开发者ID:felipedau,项目名称:txtorcon,代码行数:34,代码来源:readme.py

示例8: start_streaming

def start_streaming(host, user):
    print "Initial Sync for testuser_%d" % (user,)

    r = yield treq.get(
        "%s/_matrix/client/api/v1/events" % (host,),
        params={
            "access_token": "token_%d" % (user,),
            "timeout": "0",
        },
    )

    initialSync = yield r.json()

    assert r.code == 200, "InitialSync %d. %r" % (r.code, initialSync,)

    from_token = initialSync["end"]

    yield sleep(5 * random.random())  # This is to even requests out.

    print "Starting event stream for testuser_%d" % (user,)

    while True:
        try:
            start = get_time()
            r, i = yield defer.DeferredList(
                [
                    treq.get(
                        "%s/_matrix/client/api/v1/events" % (host,),
                        params={
                            "access_token": "token_%d" % (user,),
                            "from": from_token,
                            "timeout": "30000",
                        },
                    ),
                    sleep(45),
                ],
                fireOnOneCallback=True,
            )
            end = get_time()

            if i == 1:
                # We timedout.
                print "Cancelled after %ds, retrying" % ((end-start)/1000,)
                continue

            stream = yield r.json()

            assert r.code == 200, "Event stream %d. %r" % (r.code, stream,)

            if end - start > 35000:
                print "Took more than %ds to get response" % ((end-start)/1000,)

            from_token = stream["end"]
        except Exception as e:
            print "Failed to do event stream for %d: %s" % (user, e)
            yield sleep(5)
开发者ID:matrix-org,项目名称:vagrant-synapse-test,代码行数:56,代码来源:event_streams.py

示例9: test_api_dump_invalid_querystring

    def test_api_dump_invalid_querystring(self):
        yield ShortenerTables(self.account, self.conn).create_tables()

        url = "http://en.wikipedia.org/wiki/Cthulhu"
        yield self.service.shorten_url(url, "test-user")
        yield treq.get(self.make_url("/qr0"), allow_redirects=False, pool=self.pool)

        resp = yield treq.get(self.make_url("/api/handler/dump"), allow_redirects=False, pool=self.pool)

        self.assertEqual(resp.code, 400)
开发者ID:praekelt,项目名称:url-shortening-service,代码行数:10,代码来源:test_handlers.py

示例10: test_cached_pool

    def test_cached_pool(self):
        pool = self.HTTPConnectionPool.return_value

        treq.get('http://test.com')

        self.HTTPConnectionPool.return_value = mock.Mock()

        treq.get('http://test.com')

        self.Agent.assert_called_with(mock.ANY, pool=pool)
开发者ID:FxIII,项目名称:treq,代码行数:10,代码来源:test_api.py

示例11: lookupUri

    def lookupUri(self, message):
        if not message.target in self.config:
            return

        for uri in re.findall("https?://[^\s]+", message.message):
            treq.get(uri, unbuffered = True).addCallbacks(
                callback = self._gotResponse,
                errback = self._errorResult,
                callbackArgs = (message, uri),
                errbackArgs = (message, uri)
            )
开发者ID:DASPRiD,项目名称:DASBiT,代码行数:11,代码来源:urilookup.py

示例12: lookupCharacters

def lookupCharacters(member, characters):
  response = yield treq.get("http://www.bungie.net/Platform/User/GetBungieAccount/" + member["membershipId"].encode("UTF-8") + "/254/")
  data = yield treq.json_content(response)
  for account in data["Response"]["destinyAccounts"]:
    if account["userInfo"]["membershipType"] == 1:
      platform = "xbox"
    elif account["userInfo"]["membershipType"] == 2:
      platform = "playstation"
    else:
      continue

    for character in account["characters"]:
      character_data = {
        "bungieId": member["membershipId"],
        "accountId": account["userInfo"]["membershipId"],
        "characterId": character["characterId"],
        "name": account["userInfo"]["displayName"],
        "race": character["race"]["raceName"],
        "gender": character["gender"]["genderName"],
        "class": character["characterClass"]["className"],
        "level": character["level"],
        "levelString": "{:,d}".format(character["level"]),
        "icon": "http://bungie.net" + character["emblemPath"],
        "background": "http://bungie.net" + character["backgroundPath"],

        # Default values for extra data (in case it fails)
        "light": 0,
        "lightString": "{:,d}".format(0),
        "grimoire": 0,
        "grimoireString": "{:,d}".format(0),
        "minutesPlayed": 0,
        "minutesPlayedString": "{:,d}".format(0),
        "lastSeen": "",
        "lastSeenString": ""
      }
      character_data["style"] = 'background: url("' + character_data["background"] + '")'

      try:
        response = yield treq.get("http://www.bungie.net/Platform/Destiny/{!s}/Account/{!s}/Character/{!s}/".format(account["userInfo"]["membershipType"], account["userInfo"]["membershipId"], character["characterId"]))
        extra_data = yield treq.json_content(response)
        extra_data = extra_data["Response"]["data"]["characterBase"]
        character_data["light"] = extra_data["stats"]["STAT_LIGHT"]["value"]
        character_data["lightString"] = "{:,d}".format(character_data["light"])
        character_data["grimoire"] = extra_data["grimoireScore"]
        character_data["grimoireString"] = "{:,d}".format(character_data["grimoire"])
        character_data["minutesPlayed"] = int(extra_data["minutesPlayedTotal"])
        character_data["minutesPlayedString"] = "{:,d}".format(character_data["minutesPlayed"])
        character_data["lastSeen"] = extra_data["dateLastPlayed"]
        character_data["lastSeenString"] = datetime.datetime.strptime(extra_data["dateLastPlayed"], "%Y-%m-%dT%H:%M:%SZ").strftime("%B %d, %I:%M%p")
      except:
        pass

      characters[platform].append(character_data)
开发者ID:glacials,项目名称:destiny,代码行数:53,代码来源:app.py

示例13: check

    def check(self):
        # Hax
        try:
            irc = self.master.modules["irc"]
            words = yield self.config.get("words", [])

            response = yield treq.get("http://a.4cdn.org/a/threads.json")
            threads = yield treq.json_content(response)

            nthreads, check = {}, []
            for o in threads:
                for t in o["threads"]:
                    nthreads[t["no"]] = t["last_modified"]
                    if t["no"] not in self.threads:
                        self.threads[t["no"]] = 0
                    if t["last_modified"] > self.threads[t["no"]]:
                        check.append(t["no"])

            if not self.initial:
                threads = []
                for t in check:
                    response = yield treq.get("http://a.4cdn.org/a/res/{:d}.json".format(t))
                    if response.code == 200:
                        data = yield treq.json_content(response)
                        found, posts = set(), []
                        for p in data["posts"]:
                            if p["time"] > self.threads[t] and "com" in p:
                                f = set(filter(lambda x: re.search(r"\b" + x.lower() + r"\b", p["com"].lower()), words))
                                if f:
                                    found.update(f)
                                    posts.append((p["no"], p["com"]))
                        if found and posts:
                            threads.append((t, found, posts))
                if len(threads) < 5:
                    for t, found, posts in threads:
                        p, also = posts[0], (u"(also {} in same thread)".format(", ".join([str(x[0]) for x in posts[1:]])) if posts[1:] else u"")
                        url = "https://archive.foolz.us/a/thread/{:d}/#{:d}".format(t, p[0])
                        #response = yield treq.post("https://www.googleapis.com/urlshortener/v1/url?key="+API_KEY, json.dumps({"longUrl": url}), headers={'Content-Type': ['application/json']})
                        #data = yield treq.json_content(response)
                        #url = data["id"]
                        excerpt = p[1].replace("<br>", "\n")
                        excerpt = BeautifulSoup(excerpt).get_text()
                        excerpt = re.sub("\s+", " ", excerpt)
                        excerpt = excerpt if len(excerpt) <= 100 else excerpt[:97]+"..."
                        irc.msg(u"#commie-subs", u"\u00039>{} mentioned on /a/ at {} [{}] {}".format(u", ".join(found), url, excerpt, also))
                else:
                    t, found = [str(x[0]) for x in threads], reduce(lambda a,b: a|b, [x[1] for x in threads])
                    irc.msg(u"#commie-subs", u"\u00039>{} flooded /a/ in threads {}".format(u", ".join(found), u", ".join(t)))

            self.threads = nthreads
            self.initial = False
        except:
            self.err(u"4chan module broke horribly :(")
开发者ID:Fugiman,项目名称:Servrhe,代码行数:53,代码来源:4chan.py

示例14: geocode

    def geocode(self, address):
        """
        This method makes a call to Google's geocoding API. You shouldn't
        call this more than 5 times per second
        """

        # The url for this API
        #endpoint = 'https://maps.googleapis.com/maps/api/geocode/json'
        endpoint = 'http://web:9312/maps/api/geocode/json'

        # Do the call
        parms = [('address', address), ('sensor', 'false')]
        response = yield treq.get(endpoint, params=parms)

        # Decode the response as json
        content = yield response.json()

        # If the status isn't ok, return it as a string
        if content['status'] != 'OK':
            raise Exception('Unexpected status="%s" for address="%s"' %
                            (content['status'], address))

        # Extract the address and geo-point and set item's fields
        geo = content['results'][0]["geometry"]["location"]

        # Return the final value
        defer.returnValue({"lat": geo["lat"], "lon": geo["lng"]})
开发者ID:Fighting-Toghter,项目名称:scrapybook,代码行数:27,代码来源:geo.py

示例15: lookupMembers

def lookupMembers(id):
  page = 1
  hasMore = True if id else False
  members = []
  characters = {
    "playstation": [],
    "xbox": []
  }
  deferreds = []

  while hasMore:
    # No idea what is different between V1, V2, and V3...
    response = yield treq.get("http://www.bungie.net/Platform/Group/{!s}/MembersV3/".format(id), params={
      "itemsPerPage": 50,
      "currentPage": page
    })
    data = yield treq.json_content(response)
    page += 1
    hasMore = data["Response"]["hasMore"]
    members.extend(data["Response"]["results"])

  # Load character data in parallel
  for member in members:
    deferreds.append(lookupCharacters(member, characters))
  yield DeferredList(deferreds, fireOnOneErrback=True, consumeErrors=True)

  for platform_characters in characters.values():
    platform_characters.sort(key=lambda c: (c["level"], c["light"]), reverse=True)

  returnValue(characters)
开发者ID:Fugiman,项目名称:destiny,代码行数:30,代码来源:app.py


注:本文中的treq.get函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。