現在、Indy10TIdHTTPProxyServerを使用して特定のPostリクエストをリダイレクトしたいと思います。私はそのページをたどった
http://embarcadero.newsgroups.archived.at/public.delphi.internet.winsock/200904/0904301714.html
次のように簡単なサンプルを書きました。
oid __fastcall TForm3::MyProxyHTTPBeforeCommand(TIdHTTPProxyServerContext *AContext)
{
if (AContext->Target == "http://example.com/need_redirect_url" ) {
TIdIOHandler* io = AContext->Connection->IOHandler;
io->WriteLn("HTTP/1.0 302 Moved Temporarily");
io->WriteLn("Location: http://exampledomain.com/target_url");
io->WriteLn("Connection: close");
}
}
ブラウザのURLバーに「http://sample.com/need_redirect_url 」を押し込むと機能します。ただし、同じURLを対象とするXMLHttpRequestの場合は、(PostまたはGetに関係なく)何も返しません。
私はHTTPがどのように機能するかについて本当によく知らないことを認めなければなりません。そして、私がやりたいことをするためのより良い方法があるかどうかも疑問に思います。
私はC++BuilderXE2を使用していますが。C ++を使用したindyコンポーネントを使用した例が少ないため、Delphiサンプルも高く評価されています。