首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jython和httplib2

Jython和httplib2
EN

Stack Overflow用户
提问于 2013-07-17 00:34:31
回答 1查看 309关注 0票数 0

我正在尝试关注这篇关于无头Oauth身份验证的博客文章:

http://blog.databigbang.com/automated-browserless-oauth-authentication-for-twitter/

基本上我是尝试使用jython来调用Htmlunit,打开授权网页并接受它。但是,jython和httplib2之间有一些不兼容的地方

代码语言:javascript
复制
File "/Users/andrey/jython2.7b1/Lib/site-packages/httplib2-0.8-py2.7.egg/httplib2/iri2uri.py", line 71, in iri2uri
    authority = authority.encode('idna')
LookupError: unknown encoding 'idna'

如何修复此错误?如果我导入encodings.idna,那么stringprep,re,编解码器也必须导入,这是jython所没有的。

EN

回答 1

Stack Overflow用户

发布于 2014-04-23 10:24:57

Jython没有idna支持,如果你想做同样的事情,你必须调用Java。

要将Unicode编码为IDNA ASCII格式:

代码语言:javascript
复制
import java.net.IDN
authority = java.net.IDN.toAscii(authority)

要将IDNA ASCII解码为Unicode:

代码语言:javascript
复制
authority = java.net.IDN.toUnicode(authority)

如果您正在修改httplib2 (或任何其他库),并且不想破坏它在其他Python实现中的功能,您可以这样做:

代码语言:javascript
复制
import platform
if platform.python_implementation() == "Jython":
    import java.net.IDN
    # do IDNA things here
else:
    # use .encode('idna') Pythonically
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17682180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档