确定要在http响应中发送的最佳内容

accept-types的Python项目详细描述


accept-types帮助您的应用程序以客户机喜欢的方式响应http请求。 http请求的Accept头通知服务器客户端期望的mime类型 从这个请求返回,用权重表示最喜欢的。如果您的服务器可以响应 多种格式(如json、xml、html),客户端可以很容易地告诉服务器 首选格式,而不在查询字符串末尾使用诸如“&;format=json”之类的黑客。

用法

get_best_match

如果提供了Accept头和服务器可以响应的类型列表,则此函数 返回客户端最喜欢的类型。此函数将只返回一个可接受的类型 传入,或者None如果找不到合适的类型:

fromaccept_typeimportget_best_matchdefget_the_info(request):info=gather_info()return_type=get_best_match(request.META.get('HTTP_ACCEPT'),['text/html','application/xml','text/json'])ifreturn_type=='application/xml':returnrender_xml(info)elifreturn_type=='text/json':returnrender_json(info)elifreturn_type=='text/html':returnrender_html(info)elifreturn_type==None:returnHttpResponse406()

parse_header

当提供一个Accept头时,它将解析它并返回一个已排序的客户机列表 接受的mime类型。这些将是AcceptableType类的实例。

>>>fromaccept_typeimportparse_header>>>parse_header('text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')['text/html, weight 1','application/xhtml+xml, weight 1','application/xml, weight 0.9','*/*, weight 0.8']

AcceptableType

AcceptableType实例表示客户端愿意接受的类型之一。这个 类型可以包含通配符,以匹配多个mime类型。

>>>fromaccept_typeimportAcceptableType>>>type=AcceptableType('image/*;q=0.9')AcceptableType>>>type.mime_type'image/*'>>>type.weight0.9>>>type.matches('image/png')True>>>type.matches('text/html')False

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java与服务器建立TCP连接后,为什么我看不到服务器发送的消息?   java解析数据到Java8中的2D数组   java Lifecycle OnLifecycleEven已弃用   Java Swing JDBC和MySQL ClientServer LAN设置   java滚动背景边线条的外观   转换日期时发生java异常   对Cucumber 4.7的java IntelliJ支持   mongodb Mongo和java查找查询以及batchsize   java为充气菜单添加自定义图标   java对象到ArrayList   java作为JPackage安装的一部分,我如何在linux中使本机linux应用程序可执行   数字的java JTextfield验证?   java更改Eclipse中默认的Maven存储库,以下载所需的TinyB库   java如何使用Jena从RDF中选择具有特定属性的主题?   java Selenium WD无法在cheaptickets上的弹出窗口中找到webelement。在里面