1

PHP で Web サービスを作成し、Tika を使用してファイルをテキストにドロップしています。最初は、外部シェルで Tika を介して各ファイルを処理しました (開発には問題ありませんが、スケーリングしません) が、サーバー モードで Tika を使用しようとしています。

java -jar /path/to/tika-1.3-app.jar -s 5150 &

ポートがリッスンされていることを確認し、「nc」を使用してファイルを送信/解析されたテキストを受信できますが、「curl」を介して同じことを試みると、ハングして返されません。詳細モードでは、ファイルのアップロードが完了していることがわかります。-T と -F の両方を試しましたが、「*Done waiting for 100-continue」しか表示されません。

引数がありませんか、それとも追加で送信する特定のヘッダーがありますか? 目標は、メインの PHP スクリプトから cURL を使用してリクエストを行うことです (これも現時点では機能しません)。全体的により良い方法があれば、共有してください。

4

1 に答える 1

3

Tika App Network Server が Curl とうまく連携しない理由は非常に単純です。HTTP ベースではないからです。これは非常に単純なネットワーク ベースのプロトコルであり、通常は netcat や Tika App クライアントなどで使用され、テスト/デモ/プロトタイピングを目的としています。本番環境ではあまりお勧めできません。

代わりに、より完全な機能を備えたTika JAXRS Serverを使用する必要がありますか? 後者はより多くのオプションを提供し、完全に RESTful です。curl で (他の HTTP クライアントと一緒に) うまく使用できます。wiki には、curl を使用したがたくさんあります。

Tika JAXRS サーバーは、RESTful HTTP 呼び出しを介してさまざまな Tika 機能 (テキスト抽出、xhtml、メタデータなど) を公開します。これは、Tika をネットワーク経由で Java 以外のアプリケーションに接続するための一般的に推奨される方法です。

于 2013-06-18T20:55:24.283 に答える