• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python compat.urlencode函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: query_hph

def query_hph( method='get', **argvs):

        data = OrderedDict(sorted(argvs.items(), key=lambda t: t[0]))
        time_s = int(time.time())
        data_str = unquote(urlencode(data))
        hash_str = 'private_key={0}&ts={1}&{2}'.format(private_key,
                                                       time_s,
                                                       data_str)

        sign = hashlib.md5(hash_str.encode('utf-8')).hexdigest()
        data.update({'sign': sign, 'ts': str(time_s)})

        par_str = unquote(urlencode(data))
        url = build_url(url=URL, qs=par_str)
        try:
            response = requests.get(url)
            response_dict = response.json()

        except requests.RequestException as e:
            return False
        response_code = response_dict.get('code')
        if response_code == 0:
            return response_dict['data']
        else:
            print('no info')
            return False
开发者ID:NBGBZJ,项目名称:xiecheng,代码行数:26,代码来源:query_data.py


示例2: rtmp_publish_url

 def rtmp_publish_url(self, stream_id, app_name=None):
     if app_name is None:
         app_name = self._app_name
     url_path = '/' + urljoin(quote_plus(app_name)+'/', quote_plus(stream_id))
     query = {'vhost': self._play_domain}
     if not self._auth_type:
         return 'rtmp://' + self._publish_domain + url_path + '?' + urlencode(query)
     elif self._auth_type == self.AUTH_TYPE_A:
         query['auth_key'] = self._calc_auth_token(url_path)
         return 'rtmp://' + self._publish_domain + url_path + '?' + urlencode(query)
     else:
         raise IVRError('Unknown auth type {0}'.format(self._auth_type))
开发者ID:OpenSight,项目名称:IVR,代码行数:12,代码来源:aliyun.py


示例3: reply

    def reply(self, url, special_reply_content=None):
        """
        :param special_reply_content: will use this reply instead of self.replies
        :return: if success return True, else return False
        """
        assert self.logged, 'Did not login successfully!'
        assert self._reply_contents or special_reply_content, 'No reply text!'

        resp = self.get(url)
        followup_value = self.pat_followup_value.search(resp.text).group(1).strip(r'\"')

        # 为什么不用parse_qs? 因为cc98 url上的boardid有些大写有些小写,不是统一的,
        # cc98 is too SB
        # 为什么不用lower降成小写?因为我写完上面那句话才想起来的,为了保留上面那句话
        # I is too SB
        qs_list = parse_qsl(urlparse(url).query)
        boardid = qs_list[0][1]
        rootid = qs_list[1][1]
        reply_url = self.REPLY_BASE_URL + '?' + urlencode((('method', 'fastreply'), ('BoardID', boardid)))
        cookies_password = parse_qs(resp.request.headers['cookie']).get('password')[0]
        post_reply = special_reply_content if special_reply_content else random.choice(self._reply_contents)

        post_form = {
            'followup':    followup_value,
            'RootID':      rootid,
            'star':        '1',
            'UserName':    self.username,
            'passwd':      cookies_password,
            'Expression':  'face7.gif',
            'Content':     post_reply,
            'signflag':    'yes',
        }
        self._reply_resp = self.post(reply_url, data=post_form)

        return self._reply_resp.ok
开发者ID:littlezz,项目名称:cc98,代码行数:35,代码来源:cc98.py


示例4: _encode_params

    def _encode_params(data):
        """Encode parameters in a piece of data.

        Will successfully encode parameters when passed as a dict or a list of
        2-tuples. Order is retained if data is a list of 2-tuples but arbitrary
        if parameters are supplied as a dict.
        """
        if data is None:
            return ''
        elif isinstance(data, basestring):
            return data
        elif hasattr(data, 'read'):
            return data
        elif hasattr(data, '__iter__'):
            result = []
            for k, vs in sorted(CaseInsensitiveDict(data).lower_items()):
                if isinstance(vs, basestring) or not hasattr(vs, '__iter__'):
                    vs = [vs]
                for v in vs:
                    if v is not None:
                        result.append(
                            (k.encode('utf-8') if isinstance(k, str) else k,
                             v.encode('utf-8') if isinstance(v, str) else v))
            return urlencode(result, doseq=True)
        else:
            return data
开发者ID:crsharat,项目名称:dragline,代码行数:26,代码来源:requests.py


示例5: _get_auth

    def _get_auth(self):
        self.url = 'https://api.put.io/login'
        self.session.headers['Accept'] = 'application/json'
        next_params = {
            'client_id': self.client_id,
            'response_type': 'token',
            'redirect_uri': self.redirect_uri
        }

        post_data = {
            'name': self.username,
            'password': self.password,
            'next': '/v2/oauth2/authenticate?' + urlencode(next_params)
        }

        try:
            response = self.session.post(self.url, data=post_data,
                                         allow_redirects=False)
            response.raise_for_status()

            response = self.session.get(response.headers['location'],
                                        allow_redirects=False)
            response.raise_for_status()

            resulting_uri = '{redirect_uri}#access_token=(.*)'.format(
                redirect_uri=re.escape(self.redirect_uri))

            self.auth = re.search(resulting_uri, response.headers['location']).group(1)

        except Exception as error:
            helpers.handle_requests_exception(error)
            self.auth = None

        return self.auth
开发者ID:Arcanemagus,项目名称:SickRage,代码行数:34,代码来源:putio_client.py


示例6: _send

    def _send(self):
        """POST the user's question and all required information to the
        Cleverbot service

        Cleverbot obfuscates how it generates the 'icognocheck' token. The token
        is currently the md5 checksum of the 10th through 36th characters of the
        encoded data. This may change in the future.
        """
        # Set data as appropriate
        if self.conversation:
            linecount = 1
            for line in reversed(self.conversation):
                linecount += 1
                self.data['vText' + str(linecount)] = line
                if linecount == 8:
                    break

        # Generate the token
        enc_data = urlencode(self.data)
        digest_txt = enc_data[9:35]
        token = hashlib.md5(digest_txt.encode('utf-8')).hexdigest()
        self.data['icognocheck'] = token

        # POST the data to Cleverbot and return
        return self.session.post(self.SERVICE_URL,
                                 data=self.data,
                                 headers=self.headers)
开发者ID:folz,项目名称:cleverbot.py,代码行数:27,代码来源:cleverbot.py


示例7: authentication_url

 def authentication_url(self):
     params = {
         'client_id': self.client_id,
         'response_type': 'token',
         'redirect_uri': self.redirect_uri
     }
     return self.auth_path + "?" + urlencode(params)
开发者ID:KraXed112,项目名称:SickRage,代码行数:7,代码来源:putio_client.py


示例8: updateCache

    def updateCache(self):
        # check if we should update
        if not self.shouldUpdate():
            return

        # clear cache
        self._clearCache()

        # set updated
        self.setLastUpdate()

        cl = []
        for group in ["alt.binaries.hdtv", "alt.binaries.hdtv.x264", "alt.binaries.tv", "alt.binaries.tvseries", "alt.binaries.teevee"]:
            urlArgs = {"max": 50, "g": group}
            url = self.provider.urls['rss'] + "?" + urlencode(urlArgs)
            logger.log("Cache update URL: {}".format(url), logger.DEBUG)

            for item in self.getRSSFeed(url)["entries"] or []:
                ci = self._parseItem(item)
                if ci:
                    cl.append(ci)

        if len(cl) > 0:
            cache_db_con = self._getDB()
            cache_db_con.mass_action(cl)
开发者ID:Indigo744,项目名称:SickRage,代码行数:25,代码来源:binsearch.py


示例9: scrape_attachments_page

    def scrape_attachments_page(self, agenda_item_id, attachments_page_url):
        print("scrape Attachment " + attachments_page_url)
        html = requests.get(attachments_page_url).text
        soup = BeautifulSoup(html)
        txt = soup.get_text()

        if "Auf die Anlage konnte nicht zugegriffen werden oder Sie existiert nicht mehr." in txt:
            print("Zu TOP " + agenda_item_id + " fehlt mindestens eine Anlage")
            yield ('404', {'agenda_item_id': agenda_item_id,
                           'attachmentsPageURL': attachments_page_url})
        else:
            for forms in soup.find_all('form'):
                title = forms.get_text()

                parameters = {form['name']: form['value']
                              for form
                              in forms.find_all('input', {'type': 'hidden'})}

                file_with_parameters = '?'.join((forms['action'],
                                                 urlencode(parameters)))

                url = self.base_url + file_with_parameters

                yield ('OK', {'sid': self.meeting_id,
                              'agenda_item_id': agenda_item_id,
                              'attachment_title': title,
                              'attachment_file_url': url})
开发者ID:suchkultur,项目名称:scrapeDA,代码行数:27,代码来源:session.py


示例10: _send

    def _send(self):
        """POST the user's question and all required information to the
        Cleverbot API

        Cleverbot tries to prevent unauthorized access to its API by
        obfuscating how it generates the 'icognocheck' token. The token is
        currently the md5 checksum of the 10th through 36th characters of the
        encoded data. This may change in the future.

        TODO: Order is not guaranteed when urlencoding dicts. This hasn't been
        a problem yet, but let's look into ordered dicts or tuples instead.
        """
        # Set data as appropriate
        if self.conversation:
            linecount = 1
            for line in reversed(self.conversation):
                linecount += 1
                self.data['vText' + str(linecount)] = line
                if linecount == 8:
                    break

        # Generate the token
        enc_data = urlencode(self.data)
        digest_txt = enc_data[9:35]
        token = hashlib.md5(digest_txt.encode('utf-8')).hexdigest()
        self.data['icognocheck'] = token

        # POST the data to Cleverbot's API and return
        return self.session.post(Cleverbot.API_URL,
                                 data=self.data,
                                 headers=Cleverbot.headers)
开发者ID:NyanKiyoshi,项目名称:cleverbot.py,代码行数:31,代码来源:cleverbot.py


示例11: get_url_from_form

    def get_url_from_form(self, td):
        parameters = {tag['name']: tag['value']
                      for tag in td.form.find_all('input', {'type': 'hidden'})}

        file_with_parameters = '?'.join((td.form['action'], urlencode(parameters)))

        return urljoin(self.base_url, file_with_parameters)
开发者ID:suchkultur,项目名称:scrapeDA,代码行数:7,代码来源:session.py


示例12: _get

 def _get(self, method, format, params=None, headers=None, raw=False):
     """Performs GET request"""
     from requests.compat import urlencode
     url = self._build_url(method, format)
     if params:
         url = "{0}?{1}".format(url, urlencode(params, True))
     return self._request(url, None, headers, format, raw)
开发者ID:jmaynier,项目名称:python-scrapinghub,代码行数:7,代码来源:scrapinghub.py


示例13: params

 def params(self):
     return urlencode(OrderedDict([
         ('cbtt', self.getvalue('station')),
         ('interval', 'instant'),
         ('format', 2),
         ('back', 360)
     ]))
开发者ID:pombredanne,项目名称:climata,代码行数:7,代码来源:__init__.py


示例14: search

    def search(self, search_strings, age=0, ep_obj=None):  # pylint: disable=too-many-locals
        results = []
        if self.show and not self.show.is_anime:
            return results

        for mode in search_strings:
            items = []
            logger.log(u"Search Mode: {}".format(mode), logger.DEBUG)
            for search_string in search_strings[mode]:
                if mode != 'RSS':
                    logger.log(u"Search string: {}".format(search_string.decode("utf-8")),
                               logger.DEBUG)

                params = {
                    "page": 'rss',
                    "cats": '1_0',  # All anime
                    "sort": 2,     # Sort Descending By Seeders
                    "order": 1
                }
                if mode != 'RSS':
                    params["term"] = search_string

                search_url = self.url + '?' + urlencode(params)
                logger.log(u"Search URL: %s" % search_url, logger.DEBUG)

                summary_regex = ur"(\d+) seeder\(s\), (\d+) leecher\(s\), \d+ download\(s\) - (\d+.?\d* [KMGT]iB)(.*)"
                s = re.compile(summary_regex, re.DOTALL)

                results = []
                for curItem in self.cache.getRSSFeed(search_url)['entries'] or []:
                    title = curItem['title']
                    download_url = curItem['link']
                    if not all([title, download_url]):
                        continue

                    seeders, leechers, torrent_size, verified = s.findall(curItem['summary'])[0]
                    size = convert_size(torrent_size) or -1

                    # Filter unseeded torrent
                    if seeders < self.minseed or leechers < self.minleech:
                        if mode != 'RSS':
                            logger.log(u"Discarding torrent because it doesn't meet the minimum seeders or leechers: {} (S:{} L:{})".format
                                       (title, seeders, leechers), logger.DEBUG)
                        continue

                    if self.confirmed and not verified and mode != 'RSS':
                        logger.log(u"Found result " + title + " but that doesn't seem like a verified result so I'm ignoring it", logger.DEBUG)
                        continue

                    item = title, download_url, size, seeders, leechers
                    if mode != 'RSS':
                        logger.log(u"Found result: %s with %s seeders and %s leechers" % (title, seeders, leechers), logger.DEBUG)

                    items.append(item)

            # For each search mode sort all the items by seeders if available
            items.sort(key=lambda tup: tup[3], reverse=True)
            results += items

        return results
开发者ID:Indigo744,项目名称:SickRage,代码行数:60,代码来源:nyaatorrents.py


示例15: _send_to_kodi

    def _send_to_kodi(command, host=None, username=None, password=None, dest_app="KODI"):  # pylint: disable=too-many-arguments
        """Handles communication to KODI servers via HTTP API

        Args:
            command: Dictionary of field/data pairs, encoded via urllib and passed to the KODI API via HTTP
            host: KODI webserver host:port
            username: KODI webserver username
            password: KODI webserver password

        Returns:
            Returns response.result for successful commands or False if there was an error

        """

        # fill in omitted parameters
        if not username:
            username = sickbeard.KODI_USERNAME
        if not password:
            password = sickbeard.KODI_PASSWORD

        if not host:
            logger.log(u'No %s host passed, aborting update' % dest_app, logger.WARNING)
            return False

        for key in command:
            if isinstance(command[key], text_type):
                command[key] = command[key].encode('utf-8')

        enc_command = urlencode(command)
        logger.log(u"%s encoded API command: %r" % (dest_app, enc_command), logger.DEBUG)

        # url = 'http://%s/xbmcCmds/xbmcHttp/?%s' % (host, enc_command)  # maybe need for old plex?
        url = 'http://%s/kodiCmds/kodiHttp/?%s' % (host, enc_command)
        try:
            req = Request(url)
            # if we have a password, use authentication
            if password:
                base64string = base64.encodestring('%s:%s' % (username, password))[:-1]
                authheader = "Basic %s" % base64string
                req.add_header("Authorization", authheader)
                logger.log(u"Contacting %s (with auth header) via url: %s" % (dest_app, ss(url)), logger.DEBUG)
            else:
                logger.log(u"Contacting %s via url: %s" % (dest_app, ss(url)), logger.DEBUG)

            try:
                response = urlopen(req)
            except (BadStatusLine, URLError) as e:
                logger.log(u"Couldn't contact %s HTTP at %r : %r" % (dest_app, url, ex(e)), logger.DEBUG)
                return False

            result = response.read().decode(sickbeard.SYS_ENCODING)
            response.close()

            logger.log(u"%s HTTP response: %s" % (dest_app, result.replace('\n', '')), logger.DEBUG)
            return result

        except Exception as e:
            logger.log(u"Couldn't contact %s HTTP at %r : %r" % (dest_app, url, ex(e)), logger.DEBUG)
            return False
开发者ID:Thraxis,项目名称:pymedusa,代码行数:59,代码来源:kodi.py


示例16: _searchFieldsFormatter

    def _searchFieldsFormatter(self, searchFields):
        """
        Creates an encoded URL fragment for searching for a value within a specific field.
        If multiple fields are specified, a single string is returned

        """
        sf = [urlencode({k:v}) for k,v in searchFields.items() if k in settings.searchable_fields]
        return '&'.join(sf)
开发者ID:dpla,项目名称:DPyLA,代码行数:8,代码来源:api.py


示例17: buildAuthUrl

 def buildAuthUrl(self):
     args = {
         'client_id': self.client_id,
         'redirect_uri': self.redirect_uri,
         'scope': ' '.join(self.SCOPE),
         'response_type': 'code',
     }
     return self.AUTHORIZATION_URL + '?' + urlencode(args)
开发者ID:paudebau,项目名称:libbazqux,代码行数:8,代码来源:auth.py


示例18: _getRSSData

    def _getRSSData(self):
        search_params = {
            'user': provider.username,
            'api': provider.api_key,
            'eng': 1,
            'catid': '19,20'  # SD,HD
        }

        rss_url = self.provider.urls['rss'] + '?' + urlencode(search_params)
        logger.log(u"Cache update URL: %s" % rss_url, logger.DEBUG)
        return self.getRSSFeed(rss_url)
开发者ID:Indigo744,项目名称:SickRage,代码行数:11,代码来源:omgwtfnzbs.py


示例19: _multiDictFormatter

 def _multiDictFormatter(self, param_name, values):
     # Creates an encoded URL fragment for parameters that are dictionaries.
     url_parts = []
     for k in values.keys():
         param_scoped_name = '%s[%s][]' % (param_name, k)
         #check the dict values are not strings
         if isinstance(values[k], basestring):
             raise ValueError("Multi-value parameters should not be strings.")
         for value in values[k]:
             url_parts.append( urlencode(({param_scoped_name: value})) )
     return '&'.join(url_parts)
开发者ID:reubenschrader,项目名称:inventory,代码行数:11,代码来源:pydnz.py


示例20: _send_prowl

    def _send_prowl(prowl_api=None, prowl_priority=None, event=None, message=None, force=False):

        if not sickbeard.USE_PROWL and not force:
            return False

        if prowl_api is None:
            prowl_api = sickbeard.PROWL_API
            if len(prowl_api) == 0:
                return False

        if prowl_priority is None:
            prowl_priority = sickbeard.PROWL_PRIORITY

        title = sickbeard.PROWL_MESSAGE_TITLE

        logger.log(
            u'PROWL: Sending notice with details: title="{0}" event="{1}", message="{2}", priority={3}, api={4}'.format(
                title, event, message, prowl_priority, prowl_api
            ),
            logger.DEBUG,
        )

        http_handler = HTTPSConnection("api.prowlapp.com")

        data = {
            "apikey": prowl_api,
            "application": title,
            "event": event,
            "description": message.encode("utf-8"),
            "priority": prowl_priority,
        }

        try:
            http_handler.request(
                "POST",
                "/publicapi/add",
                headers={"Content-type": "application/x-www-form-urlencoded"},
                body=urlencode(data),
            )
        except (SSLError, HTTPException, socket.error):
            logger.log(u"Prowl notification failed.", logger.ERROR)
            return False
        response = http_handler.getresponse()
        request_status = response.status

        if request_status == 200:
            logger.log(u"Prowl notifications sent.", logger.INFO)
            return True
        elif request_status == 401:
            logger.log(u"Prowl auth failed: {0}".format(response.reason), logger.ERROR)
            return False
        else:
            logger.log(u"Prowl notification failed.", logger.ERROR)
            return False
开发者ID:Arcanemagus,项目名称:SickRage,代码行数:54,代码来源:prowl.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python compat.urljoin函数代码示例发布时间:2022-05-26
下一篇:
Python compat.str函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap