0

CakePHP サイトと、 http://example.com/mycontroller/myfunctionにルーティングされる特定の関数があります。

この関数を定期的に呼び出すcronジョブで実行できるpythonスクリプトを作成しようとしています。私のpythonスクリプトは次のようになります:

import urllib2

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

スクリプトは実行されますが、関数は呼び出されません。つまり、結果は、ブラウザーでその URL にアクセスした場合と同じではありません。

このpythonスクリプトから、ブラウザでURLにアクセスするのと同じアクションをどのように模倣できますか?

あるいは、この特定の PHP 関数を定期的に実行する別の明白な方法はありますか?

4

1 に答える 1

0

ページを実行するために特別なことをしていない場合 (たとえば、クライアント側の JavaScript やその他のブラウザの動作に依存している場合など) は、書くよりもその目的のために作成されたユーティリティ (curl や wget) を使用した方がよいでしょう。カスタムスクリプト。

たとえば、crontab で次のコマンドを直接使用できます。

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

ブラウザとまったく同じようにリクエストを行う (リンクされた画像、スクリプト、スタイルシートを取得し、javascript を実行する) ことに本当に依存している場合は、おそらくSeleniumのようなツールを使用する必要があります。

于 2013-08-06T01:39:23.147 に答える