3

ページへのリンクを共有したいのですが、そのページのコンテンツはフォームを送信することによってのみ利用できます。

次に例を示します。米国造幣局向けに金地金を販売しているカリフォルニアの小売業者のリストを表示したいと考えています。ただし、結果を取得するにはフォームを送信する必要があります: http://www.usmint.gov/mint_programs/american_eagles/index.cfm?action=lookup

私が見たいのは、基本的にフォーム POST を実行するエージェントとして機能する仲介サイトです。したがって、私はこのサイトからリンクを共有でき、そのリンクをクリックした人は誰でもフォーム POST の出力を見ることができます (これは、ポスト エージェント サイトに以前に使用するように指示したターゲット URL とフォーム データを使用して作成されたものです)。

したがって、これは URL 短縮サービスと同様のニーズに応えます。ここでは、Twitter、Digg、または電子メールに投稿できる URL (たとえば、 post-agent.com/ca-bullion ) があります。ただし、URL 短縮サービスとは異なり、ブラウザのセキュリティ上の明らかな制限により、結果のページには仲介者 (たとえば、 post-agent.com ) からの URL が表示されます。

したがって、上記の例を使用すると、post-agent.com/ca-bullion リクエストは次の結果で応答するだけです。

$ lwp-request -m POST www.usmint.gov/mint_programs/american_eagles/index.cfm?action=lookup
state=CA&submit=GO
[Ctrl-D]

はい、出力は見苦しくなりますが (画像 URL へのリンクが書き直されない限り)、少なくともページのコンテンツ/データは 1 回のクリックで表示されます。

このようなものは存在しますか?

そうでない場合は、そうすべきですか?

4

1 に答える 1

0

非常に興味深いアイデアです。

あなたがそれを説明する方法では、サービスは一種のプロキシとして機能する必要があります.

これには問題があります。たとえば、POST リクエストの結果が Cookie を設定する場合です。また、リクエストの送信元は、ユーザーの IP ではなく、「プロキシ」サーバーになります。また、サービスは潜在的に膨大な量のトラフィックを通過する必要があります。

これのより実行可能な実装は、ページにフォームを提供することです。フォームにはmethod="POST"、URL プリセットからの変数が含まれます。フォームは、Javascript を介して自動的に送信されるか (ユーザーにはほとんど見えなくなります)、手動で送信されます。

一部のサイトでは、クロスサイト リクエスト フォージェリを防ぐために、フォームやその他のチェックでワンタイム トークンを使用する必要があるため、すべてのサービスがこのメソッドで機能するわけではありません。しかし、あなたが示したような単純なサービスの場合、これはうまくいくかもしれません.

ただし、これをエンドユーザーが簡単に使用できるようにするのは難しいと思います。ブラウザー ツールを使用して投稿された Web サイトを検査せずに、どのようにして POST 要求をフォームに取り込むのでしょうか?

于 2010-09-15T04:39:38.743 に答える