Python urllib2 urlopen不会在url上运行CakePHP代码

时间:2013-08-05 22:50:27

标签: python urllib2

我有一个CakePHP网站,以及一个路由到http://example.com/mycontroller/myfunction

的特定功能

我正在尝试创建一个python脚本,我可以在一个cron作业上运行,该作业将定期调用此函数。我的python脚本如下所示:

import urllib2

urllib2.urlopen("http://example.com/mycontroller/myfunction")

脚本运行,但未调用该函数;也就是说,结果与我在浏览器中访问该URL的结果不同。

如何在这个python脚本中模仿与浏览器中的url相同的操作?

或者,是否有另一种明显的方法来定期运行这个特定的PHP函数?

1 个答案:

答案 0 :(得分:0)

如果你没有做任何花哨的事情(例如,依赖于客户端javascript或其他浏览器行为)来运行你的页面,你可能最好使用为此目的而制作的实用程序(即curl或wget)而不是编写自定义脚本。

例如,您可以直接在crontab中使用以下命令:

curl -silent http://example.com/mycontroller/myfunction

如果您真的依赖于完全像浏览器(获取链接的图像,脚本和样式表以及执行javascript)的请求,您可能需要使用Selenium之类的工具。