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

Python fields.RequestField类代码示例

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

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



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

示例1: test_render_parts

 def test_render_parts(self):
     field = RequestField('somename', 'data')
     parts = field._render_parts({'name': 'value', 'filename': 'value'})
     assert 'name="value"' in parts
     assert 'filename="value"' in parts
     parts = field._render_parts([('name', 'value'), ('filename', 'value')])
     assert parts == 'name="value"; filename="value"'
开发者ID:NickMinnellaCS96,项目名称:urllib3,代码行数:7,代码来源:test_fields.py


示例2: test_render_parts

 def test_render_parts(self):
     field = RequestField("somename", "data")
     parts = field._render_parts({"name": "value", "filename": "value"})
     self.assertTrue('name="value"' in parts)
     self.assertTrue('filename="value"' in parts)
     parts = field._render_parts([("name", "value"), ("filename", "value")])
     self.assertEqual(parts, 'name="value"; filename="value"')
开发者ID:Nnamso,项目名称:fjord,代码行数:7,代码来源:test_fields.py


示例3: test_make_multipart_empty_filename

 def test_make_multipart_empty_filename(self):
     field = RequestField('somename', 'data', '')
     field.make_multipart(content_type='application/octet-stream')
     assert (
         field.render_headers() ==
         'Content-Disposition: form-data; name="somename"; filename=""\r\n'
         'Content-Type: application/octet-stream\r\n'
         '\r\n')
开发者ID:NickMinnellaCS96,项目名称:urllib3,代码行数:8,代码来源:test_fields.py


示例4: test_make_multipart

 def test_make_multipart(self):
   field = RequestField('somename', 'data')
   field.make_multipart(content_type='image/jpg', content_location='/test')
   self.assertEqual(field.render_headers(),
       'Content-Disposition: form-data; name="somename"\r\n'
       'Content-Type: image/jpg\r\n'
       'Content-Location: /test\r\n'
       '\r\n')
开发者ID:AngelMarquez,项目名称:urllib3,代码行数:8,代码来源:test_fields.py


示例5: _encode_files

    def _encode_files(files, data):
        """Build the body for a multipart/form-data request.

        Will successfully encode files 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 (not files):
            raise ValueError("Files must be provided.")
        elif isinstance(data, basestring):
            raise ValueError("Data must not be a string.")

        new_fields = []
        fields = to_key_val_list(data or {})
        files = to_key_val_list(files or {})

        for field, val in fields:
            if isinstance(val, basestring) or not hasattr(val, '__iter__'):
                val = [val]
            for v in val:
                if v is not None:
                    # Don't call str() on bytestrings: in Py3 it all goes wrong.
                    if not isinstance(v, bytes):
                        v = str(v)

                    new_fields.append(
                        (field.decode('utf-8') if isinstance(field, bytes) else field,
                         v.encode('utf-8') if isinstance(v, str) else v))

        for (k, v) in files:
            # support for explicit filename
            ft = None
            fh = None
            if isinstance(v, (tuple, list)):
                if len(v) == 2:
                    fn, fp = v
                elif len(v) == 3:
                    fn, fp, ft = v
                else:
                    fn, fp, ft, fh = v
            else:
                fn = guess_filename(v) or k
                fp = v

            if isinstance(fp, (str, bytes, bytearray)):
                fdata = fp
            else:
                fdata = fp.read()

            rf = RequestField(name=k, data=fdata,
                              filename=fn, headers=fh)
            rf.make_multipart(content_type=ft)
            new_fields.append(rf)

        body, content_type = encode_multipart_formdata(new_fields)

        return body, content_type
开发者ID:GymWenFLL,项目名称:tpp_libs,代码行数:58,代码来源:models.py


示例6: test_render_part_rfc2231

 def test_render_part_rfc2231(self):
     field = RequestField('somename', 'data')
     field.style = 'RFC2231'
     param = field._render_part('filename', u('name'))
     self.assertEqual(param, 'filename="name"')
     param = field._render_part('filename', u('n\u00e4me'))
     self.assertEqual(param, "filename*=utf-8''n%C3%A4me")
     param = field._render_part('filename', 'some"really\nbad\\name')
     self.assertEqual(param, u("filename*=utf-8''some%22really%0Abad%5Cname"))
开发者ID:msrajan,项目名称:urllib3,代码行数:9,代码来源:test_fields.py


示例7: test_render_part_html5

 def test_render_part_html5(self):
     field = RequestField('somename', 'data')
     field.style = 'HTML5'
     param = field._render_part('filename', u('name'))
     self.assertEqual(param, 'filename="name"')
     param = field._render_part('filename', u('n\u00e4me'))
     self.assertEqual(param, u('filename="n\u00e4me"'))
     param = field._render_part('filename', 'some"really\nbad\\name')
     self.assertEqual(param, 'filename="some\\"really bad\\\\name"')
开发者ID:msrajan,项目名称:urllib3,代码行数:9,代码来源:test_fields.py


示例8: test_make_multipart

 def test_make_multipart(self):
     field = RequestField("somename", "data")
     field.make_multipart(content_type="image/jpg", content_location="/test")
     self.assertEqual(
         field.render_headers(),
         'Content-Disposition: form-data; name="somename"\r\n'
         "Content-Type: image/jpg\r\n"
         "Content-Location: /test\r\n"
         "\r\n",
     )
开发者ID:Nnamso,项目名称:fjord,代码行数:10,代码来源:test_fields.py


示例9: encode_body

    def encode_body(self):
        new_fields = []
        for field, val in self.form_fields:
            if isinstance(val, basestring) or not hasattr(val, '__iter__'):
                val = [val]
            for v in val:
                if v is not None:
                    # Don't call str() on bytestrings: in Py3 it all goes wrong.
                    if not isinstance(v, bytes):
                        v = str(v)

                    new_fields.append(
                        (field.decode('utf-8') if isinstance(field, bytes) else field,
                         v.encode('utf-8') if isinstance(v, str) else v))
        if not self.files:
            self.files = {}
        for k, v in self.files.items():
            # support for explicit filename
            ft = None
            fh = None
            if isinstance(v, (tuple, list)):
                if len(v) == 2:
                    fn, fp = v
                elif len(v) == 3:
                    fn, fp, ft = v
                else:
                    fn, fp, ft, fh = v
            else:
                fn = guess_filename(v) or k
                fp = v

            if isinstance(fp, (str, bytes, bytearray)):
                fdata = fp
            else:
                fdata = fp.read()

            rf = RequestField(name=k, data=fdata,
                              filename=fn, headers=fh)
            rf.make_multipart(content_type=ft)
            new_fields.append(rf)

        body, content_type = encode_multipart_formdata(new_fields)
        return body,content_type
开发者ID:pacoyang,项目名称:tornado-qiniu,代码行数:43,代码来源:tornadohttpclient.py


示例10: test_create

 def test_create(self):
     simple_field = RequestField("somename", "data")
     self.assertEqual(simple_field.render_headers(), "\r\n")
     filename_field = RequestField("somename", "data", filename="somefile.txt")
     self.assertEqual(filename_field.render_headers(), "\r\n")
     headers_field = RequestField("somename", "data", headers={"Content-Length": 4})
     self.assertEqual(headers_field.render_headers(), "Content-Length: 4\r\n\r\n")
开发者ID:Nnamso,项目名称:fjord,代码行数:7,代码来源:test_fields.py


示例11: test_create

 def test_create(self):
   simple_field = RequestField('somename', 'data')
   self.assertEqual(simple_field.render_headers(), '\r\n')
   filename_field = RequestField('somename', 'data', filename='somefile.txt')
   self.assertEqual(filename_field.render_headers(), '\r\n')
   headers_field = RequestField('somename', 'data', headers={'Content-Length': 4})
   self.assertEqual(headers_field.render_headers(),
       'Content-Length: 4\r\n'
       '\r\n')
开发者ID:AngelMarquez,项目名称:urllib3,代码行数:9,代码来源:test_fields.py


示例12: test_create

 def test_create(self):
     simple_field = RequestField('somename', 'data')
     assert simple_field.render_headers() == '\r\n'
     filename_field = RequestField('somename', 'data',
                                   filename='somefile.txt')
     assert filename_field.render_headers() == '\r\n'
     headers_field = RequestField('somename', 'data',
                                  headers={'Content-Length': 4})
     assert headers_field.render_headers() == 'Content-Length: 4\r\n\r\n'
开发者ID:NickMinnellaCS96,项目名称:urllib3,代码行数:9,代码来源:test_fields.py


示例13: test_create

 def test_create(self):
     simple_field = RequestField('somename', 'data')
     self.assertEqual(simple_field.render_headers(),
         'Content-Disposition: form-data; name="somename"\r\n\r\n')
     filename_field = RequestField('somename', 'data',
                                   filename='somefile.txt')
     self.assertEqual(filename_field.render_headers(),
         'Content-Disposition: form-data; name="somename"; filename="somefile.txt"\r\n'
         'Content-Type: text/plain\r\n'
         '\r\n')
     headers_field = RequestField('somename', 'data',
                                  headers={'Content-Length': 4})
     self.assertEqual(headers_field.render_headers(),
         'Content-Disposition: form-data; name="somename"\r\n'
         'Content-Length: 4\r\n\r\n')
开发者ID:msrajan,项目名称:urllib3,代码行数:15,代码来源:test_fields.py


示例14: process_upload_items

def process_upload_items(items):
    result = []
    for key, val in items:
        if isinstance(val, UploadContent):
            headers = {"Content-Type": val.content_type}
            field = RequestField(name=key, data=val.content, filename=val.filename, headers=headers)
            field.make_multipart(content_type=val.content_type)
            result.append(field)
        elif isinstance(val, UploadFile):
            data = open(val.path, "rb").read()
            headers = {"Content-Type": val.content_type}
            field = RequestField(name=key, data=data, filename=val.filename, headers=headers)
            field.make_multipart(content_type=val.content_type)
            result.append(field)
        else:
            result.append((key, val))
    return result
开发者ID:fangjintang1989,项目名称:grab,代码行数:17,代码来源:urllib3.py


示例15: test_render_part

 def test_render_part(self):
     field = RequestField('somename', 'data')
     param = field._render_part('filename', u('n\u00e4me'))
     self.assertEqual(param, "filename*=utf-8''n%C3%A4me")
开发者ID:Altynai,项目名称:urllib3,代码行数:4,代码来源:test_fields.py


示例16: test_render_unicode_bytes_py2

 def test_render_unicode_bytes_py2(self):
     field = RequestField('somename', 'data')
     param = field._render_part('filename', 'n\xc3\xa4me')
     self.assertEqual(param, "filename*=utf-8''n%C3%A4me")
开发者ID:Altynai,项目名称:urllib3,代码行数:4,代码来源:test_fields.py


示例17: test_render_part_html5

 def test_render_part_html5(self):
     field = RequestField('somename', 'data')
     param = field._render_part('filename', u('n\u00e4me'))
     self.assertEqual(param, u('filename="n\u00e4me"'))
开发者ID:Spryttan,项目名称:urllib3,代码行数:4,代码来源:test_fields.py


示例18: test_from_tuples_html5

 def test_from_tuples_html5(self):
     field = RequestField.from_tuples(u('fieldname'), (u('filen\u00e4me'), 'data'))
     cd = field.headers['Content-Disposition']
     self.assertEqual(cd, u('form-data; name="fieldname"; filename="filen\u00e4me"'))
开发者ID:Spryttan,项目名称:urllib3,代码行数:4,代码来源:test_fields.py


示例19: encode_params

    def encode_params(self, data=None, files=None, **kwargs):
        """
        Build the body for a multipart/form-data request.
        Will successfully encode files when passed as a dict or a list of
        tuples. Order is retained if data is a list of tuples but arbitrary
        if parameters are supplied as a dict.
        The tuples may be string (filepath), 2-tuples (filename, fileobj), 3-tuples (filename, fileobj, contentype)
        or 4-tuples (filename, fileobj, contentype, custom_headers).
        """
        if isinstance(data, basestring):
            raise ValueError("Data must not be a string.")

        # optional args
        boundary = kwargs.get("boundary", None)
        output_str = kwargs.get("output_str", self.output_str)

        new_fields = []
        fields = to_key_val_list(data or {})
        files = to_key_val_list(files or {})

        for field, value in fields:
            ctype = None
            if isinstance(value, (tuple, list)) and len(value) == 2:
                val, ctype = value
            else:
                val = value

            if isinstance(val, basestring) or not hasattr(val, '__iter__'):
                val = [val]
            for v in val:
                # Don't call str() on bytestrings: in Py3 it all goes wrong.
                if not isinstance(v, bytes):
                    v = to_string(v, lang=output_str)

                field = field.decode('utf-8') if isinstance(field, bytes) else field
                v = v.encode('utf-8') if isinstance(v, str) else v

                rf = RequestField(name=field, data=v)
                rf.make_multipart(content_type=ctype)
                new_fields.append(rf)

        for (k, v) in files:
            # support for explicit filename
            ft = None
            fh = None
            if isinstance(v, (tuple, list)):
                if len(v) == 2:
                    fn, fp = v
                elif len(v) == 3:
                    fn, fp, ft = v
                else:
                    fn, fp, ft, fh = v
            else:
                fn, fp = guess_filename_stream(v)
                ft = guess_content_type(fn)

            if isinstance(fp, (str, bytes, bytearray)):
                fdata = fp
            else:
                fdata = fp.read()

            rf = RequestField(name=k, data=fdata, filename=fn, headers=fh)
            rf.make_multipart(content_type=ft)
            new_fields.append(rf)

        if boundary is None:
            boundary = self.boundary
        body, content_type = encode_multipart_formdata(new_fields, boundary=boundary)

        return body, content_type
开发者ID:ivanprjcts,项目名称:sdklib,代码行数:70,代码来源:renderers.py


示例20: test_render_part_invalid_style

 def test_render_part_invalid_style(self):
     field = RequestField('somename', 'data')
     field.style = 'ThereIsNoSuchStyle'
     self.assertRaises(NotImplementedError,
         field._render_part, 'filename', u('name'))
开发者ID:msrajan,项目名称:urllib3,代码行数:5,代码来源:test_fields.py



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


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Python filepost.encode_multipart_formdata函数代码示例发布时间:2022-05-27
下一篇:
Python connectionpool.HTTPConnectionPool类代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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