网上客户端协议的简单蟒蛇实现

webfinger的Python项目详细描述


WebFinger RFC 7033的简单python客户机实现。

webfinger是一种发现协议,允许您以标准化的方式查找有关人员或事物的信息。有关详细信息,请参见specwebfinger.net

>>> from webfinger import finger
>>> wf = finger('acct:eric@konklone.com')
>>> wf.subject
acct:eric@konklone.com
>>> wf.avatar
https://secure.gravatar.com/avatar/ac3399caecce27cb19d381f61124539e.jpg?s=400
>>> wf.profile
https://konklone.com
>>> wf.properties.get('http://schema.org/name')
Eric Mill

手指

手指(资源,rel=无)

finger是实例化webfingerclient对象并发出请求的方便方法。resource参数是您正在查询的资源的uri。可选的rel参数可以是字符串,也可以是将响应限制为特定关系的字符串列表。webfinger服务器not需要服从rel参数,因此您应该相应地处理响应。

webfingerclient支持其他选项,因此请检查finger是否满足您的需要。

WebFinger客户端

webfingerclient(超时=无,正式=假)
实例化客户端对象。可选的timeout参数指定http请求超时。可选的officer参数是一个布尔值,用于确定客户端是否将使用unofficial endpoints
手指(资源,主机=无,rel=无,原始=假)

客户端{em1}$finger方法准备并执行webfinger请求。resourcerel与独立的finger方法上的参数相同。host仅当要连接到资源参数中主机以外的主机时才应指定。否则,此方法将从resource参数提取主机。raw是一个布尔值,用于确定方法返回的是webfingerresponse对象还是作为dict返回的原始jrd响应。

如果将host参数传递给此方法,则会忽略非官方端点。你要的是一个特别的主持人,所以我不同意谁的观点?

WebFinger响应

webfinger响应对象提供方便的属性,以便轻松访问和原始jrd响应。阅读spec for specifics of the JRD response

属性

主题
响应jrd描述的事物的uri。
别名
标识主题的附加uri列表。
属性
提供有关主题信息的uri和值的指令。
链接
定义主题外部资源的dict列表。
jrd
原始jrd响应的指令。

方法

rel(关系,attr='ref')

一种方便的方法,提供对链接的基本访问。relation参数是所需链接的uri。attr参数是匹配relation的链接返回值的键。返回一个字符串,如果^ {EM1} $关系EEE>和^ {EM1}$TAFE存在,否则^ {EM1}$$NOME

>>> wf.rel('http://webfinger.net/rel/avatar')
https://secure.gravatar.com/avatar/ac3399caecce27cb19d381f61124539e.jpg?s=400

响应jrd可能有多个具有相同关系uri的条目。rel方法将选择第一个,因为order意味着优先级。如果需要查看所有值,则必须遍历links属性并自己将其拉出。

>>> rel = 'http://webfinger.net/rel/avatar'
>>> [l.get('href') for l in rel.links if l.get('rel') == rel]

如果attr为none,则将返回链接的完整dict。

关系属性

响应对象的属性支持以下常见链接关系类型:

示例:

>>> wf.avatar
https://secure.gravatar.com/avatar/ac3399caecce27cb19d381f61124539e.jpg?s=400

非官方l端点

虽然facebook和twitter并不正式支持webfinger,但是webfinger-unofficial project提供了基本主题信息的代理。默认情况下,python webfinger将尝试为facebook.com和twitter.com资源域使用unoffice端点。可以通过将true传递给officer参数来禁用此行为:

>>> wf = finger('acct:konklone@twitter.com', official=True)

依赖关系

许可证

python webfinger分布在BSD license下。

完整条款见许可证。

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

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?