2017-05-05 18 views
0

私はポストデータでpythonスクリプトを実行し、その結果をPHPのcurlを使って取得します。もし誰かがこの種の機能をしてくれたら助けてください。私は多くを検索しましたが、何も得ていませんでした。phpからcurlでpythonスクリプトを実行するには?

これは私のPythonスクリプトのパス

cgi-bin/interactive.py 

であり、私はポストデータとしてtitle=abcを渡したいです。

私は

、PHPファイルにはshell_execで

$command = escapeshellcmd('cgi-bin/interactive.py test'); 
$output = shell_exec($command); 
echo $output; 
をそれを行っている。しかし、この中で、私はPythonのファイルに引数を取得するために sys.argvで問題に直面しています。

shell_execでkey = valueの引数を渡すことはできますか?もしそうなら、それは私の問題を解決することができます。そうでなければ、私はカールポストデータで電話する必要があります。

ありがとうございます!

+0

これは私を助けました。http://stackoverflow.com/a/43081171/4810125 –

答えて

1

シェル引数の詳細解析を行うには、getoptまたはargparseモジュールを使用できます。それらは高度に設定可能で柔軟性があります。

シェル引数を使用して投稿データを渡すことは、CGI spec(本物のCGIアプリケーションであることが想定されている)の場合、適切ではありません。投稿データはCGIのstdinから来るので、Pythonプログラムでは、通常のユーザー入力のようなHTTP応答を読み込み、POSTデータを解析することができます。詳細はthreadをご覧ください。

関連する問題