質問

私はNSTask経由/usr/bin/perlまたは/usr/bin/phpを実行し、プログラムのHTTPヘッダを取得したいですよ。私は適切に(PerlがHTTP_で始まることをvarsのENVが必要)環境をフォーマットしましたが、タスクのどちらも生の出力以外に戻ってきています。私はNSTask上のドキュメントやPHPやPerlのmanページを進めてきた、とHTTPヘッダの出力を強制的にどのような方法を見ていない。

任意のアイデア?

編集:私は、これは古代の問題であると認識が、私はそれを再発見し、私は戻って報告する必要があります実現。問題は、私はphp-cliを使用して、そしてphpないてきたべきであるとしました。私は私が期待していたとして、この作業を取得するためにソースからphp-cliをダウンロードしてコンパイルする必要がありました。私は一度、しかし、それは魅力のように働きました。 :)

役に立ちましたか?

解決

あなたはPerlやPHPスクリプトからの生の出力に基づいて、あなたによって構築されたHTTPヘッダーを使用して出力を、接頭辞が必要になることがあります。

たとえば、あなたは、PHPスクリプトからの生の出力は、コンテンツタイプであろうことを知っている:text / htmlで、あなたは、出力自体からの長さを得ることができます。少なくとも、私は同様のソリューションを実装する場合は、私がやったことだと思います。

他のヒント

あなたは別のプロセスの環境を表示したり、変更することはできません。例外は、子プロセスの環境を変更することができるということですが、そのプロセスを作成する場合にのみ。したがって、あなたはPerlやPHPのサブプロセスの初期環境を設定することができますが、それは後で持っているものを環境読み取ることができない、とあなたは確かにそれが終了したときに、それが持っていたものな環境を表示することはできません。

あなたはPerlやPHPスクリプトの出力いくつかの形式でその環境を作成し、パイプを通して、あなたのココアプロセスにそれを読む必要があります。

あなたがターミナルからそれを実行すると、スクリプトは、ヘッダーを印刷していますか?もしそうなら、おそらく(たぶんNSPipeを使用して)-[NSTask setStandard*:]を使用して出力をキャプチャすることができます。そうでない場合、それがCGIを処理として、Webサーバがヘッダを噴射することが可能です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top