金字塔subrequests
答
只需使用现有的python库来调用其他web服务器。
在Python 2.x上,使用urllib2
,对于python 3.x,请改为使用urllib.request
。或者,您可以安装requests
。
请注意,在您自己提供请求时从您的服务器调用外部网站可能意味着您的访问者最终会等待停止响应的第三方Web服务器。确保你设置了体面的超时时间。
答
金字塔使用的WebOb其中有一个客户端API的版本1.2
from webob import Request
r = Request.blank("http://google.com")
response = r.send()
一般要覆盖你只想传递作为参数的要求什么。
from webob import Request
r = Request.blank("http://facebook.com",method="DELETE")
另一个方便的功能是,你可以看到该请求作为通过线路
print r
DELETE HTTP/1.0
Host: facebook.com:80
答
同时检查响应状态代码通过HTTP:response.status_int 我例如使用它来反省我的内部URI,并查看给定的相对URI是否真的由框架提供服务(例如,生成面包屑并将中间路径作为仅当存在页面时链接的中间路径ind)
您是否需要在自己的应用程序中调用视图,或者您是否完全访问另一台服务器? – 2012-07-28 15:09:36
@MartijnPieters另一台服务器 – Wiz 2012-07-28 15:52:52
您可以将问题改为例如“从金字塔应用程序发送请求”? “subrequests”是一个在金字塔中具有特殊含义的术语,因此这是误导。 – 2013-02-04 16:22:11