1

Linux システムでプロキシ サーバーのように動作するプログラムを C 言語で作成しています。クライアントは Web ページを要求し、HTTP GET 要求を離れたサーバーに送信し、サーバーの応答 (Web ページ) を取得します。 .html ファイルに保存されます。

ここで問題が発生します。ほとんどの Web サイトには画像への参照がいくつかあるため、作成された .html ファイル プロキシを表示しようとすると、画像が表示されません。

私はたくさん検索しましたが、何も見つかりませんでした.画像をGETするコードを書く方法はありますか?

前もって感謝します

4

1 に答える 1

1

返された HTML ファイルを解析し、画像参照 (img タグ) を探して、それらの画像ファイルをサーバーに照会するコードを作成する必要があります。これは、Web ブラウザーが内部で行っていることです。

ただし、HTML ファイル内の画像参照が元のサーバーに対するものであるという追加の問題があります。それらがロードされないため、元の HTML を返したサーバーが利用できないと想定しています。その場合、各画像ファイルを取得した後、ローカル ファイル システムで名前を付け、新しいローカル イメージ名を指すように HTML 内の参照を (プログラムで) 変更する必要があります。

たとえば、次のようになります。

<img src='http://example.com/image1.png'>

になるだろう

<img src='localImage1.png'>

任意の Web サイトを照会している場合、CSS ファイルや JavaScript ファイルなど、同じことを行う必要がある他のさまざまなファイルがあることもわかります。一般に、任意の Web ページを正確にミラーリングすることは困難です。ブラウザは Web ページを解釈するために使用する複雑なオブジェクト モデルを持っています。これは、CSS や Javascript などを処理する必要があり、すべての動的コードを実行できるようにする必要がある場合があるためです。サーバーからダウンロードするファイルを確認してください (たとえば、他の JavaScript を含む JavaScript など)。

于 2011-11-28T01:25:04.073 に答える