0

ローカル Web ページからローカルで実行されている C ( C++ ではない) アプリケーションにデータを送信するための、可能な限り単純な (クロスプラットフォームではあるが必ずしもクロスブラウザではない) コードを探しています。基本的に、フォームを含む HTML ページがあり、そのフォームから別のプロセスに可能な限り簡単な方法でデータを送信したいと考えています。(Web ページからローカル データを比較的簡単に読み取ることができることはわかっています。特に HTML5 を使用するようになりましたが、javascript サンドボックスの外に書き込むことは謎です。)

ブラウザではセキュリティ上の懸念からこれを行うのが非常に難しいことはわかっています。自分のマシンを攻撃にさらしたくはありませんが、C アプリケーション内で非常に単純なサーバーを実行して、送信されたデータを受信できるかもしれません...ちなみに、標準の Web サーバーを実行することはできないため、それを実行する C ライブラリ/アプリが必要です。

.hta ファイル (Windows でのみ動作するようです) といくつかの C Web サーバー (見つかったのはすべて *nix 固有のものです) を調べました。同様の質問は、ユーザーがJavaおよび他のWebサーバープラットフォームの使用を許可することを除いて、WebページからサーバーCプログラムにデータを転送する方法です(私はCを使用する必要があります)。

更新: 有望なライブラリ: https://stackoverflow.com/questions/175507/cc-web-server-library

4

4 に答える 4

2

FastCGI を検討したことはありますか? 私は C で書かれた高速な CGI ライブラリを持っています。まだ多くの作業が必要であり、本番環境で使用するかどうかはわかりません。

バグを見つけたり、機能強化を行ったりした場合は、他の人に役立つように共有してください。

https://github.com/manvscode/shrewd-cgi

于 2012-09-24T19:54:53.430 に答える
0

目的のデータを Web からシステムの特定のポート (ポート X など) に送信します。次に、次のコマンドを使用してアプリケーション (APP など) をバックグラウンドで実行します。

nc -l X | ./APP

もちろん、 ncパッケージが必要です。

于 2012-09-24T20:05:44.560 に答える
0

You could write a very simple web server in C, serve the page from it (avoids security issues), and post the form to it.

于 2012-09-24T18:41:19.363 に答える
0

c に縛られている場合は、低レベルに進み、ソケットライブラリに関する気の利いた詳細をすべて処理する必要があります。(人々が高級言語でそれを抽象化するのには理由があります)。サーバーとクライアントを使用した C の RPC のサンプル コードを確認してください。たとえば Tcl を使用して C にバインドする余裕がある場合は、サーバーを tcl スクリプトに実装し、C 関数を Tcl コマンドとしてバインドします。そうすれば、すべてのソケット コードを低レベルで記述することを避けながら、コンテンツを直接 c メソッドに渡すことができます。

于 2012-09-24T19:22:04.083 に答える