URL を取得し、その URL (TargetURL と呼ばれる) を .NET 経由でダウンロードする PHP スクリプト (MyPHPScript) を作成していますfile_get_contents
。次に、スクリプトはすべてのアンカー<a>
とすべてのフォーム アクション ( action=""
) を書き換えて、MyPHPScript を指すようにします。
MyPHPScript は、次のようなフォームに遭遇することがあります。
<form name="MYFORM" method="GET" action="http://www.TargetURL.com/index.php">
<input type="input" name="Username"/>
これを次のように書き換えます。
<form name="MYFORM" method="GET" action="MyPHPScript.php">
<input type="hidden" name="OriginalAction" value="http://www.TargetURL.com/index.php"/>
<input type="input" name="Username"/>
</form>
すべての処理が完了すると、MyPHPScript は変更された TargetURL のコードを出力します。次にこのフォームを送信すると、MyPHPScript は のGET
値をチェックし、OriginalAction
その URL をダウンロードして、関連するすべてのGET
値を渡します。
これは正常に機能しますが、TargetURL の特定のフォームは次のとおりです。
<form name="MYFORM" method="GET" action="http://www.TargetURL.com/search/">
<input type="input" name="SearchTerm"/>
MyPHPScript はこれを次のように書き換えます。
<form name="MYFORM" method="GET" action="MyPHPScript.php">
<input type="hidden" name="OriginalAction" value="http://www.TargetURL.com/search/"/>
<input type="input" name="SearchTerm"/>
問題は、このフォームを送信すると、MYPHPScript が URL をダウンロードしようとすることです。
http://www.TargetURL.com/search/?SearchTerm=XYZ
ただし、これは機能していません。私は TargetURL.com を管理していないので、その理由を推測することしかできませんが、GET が適切に渡されていないことを示す検索結果がないというエラー メッセージが表示されます。では、ファイル名が存在しない場合、または上記の URI が有効であり、TargetURL.com が何か特別なことをしている可能性がある場合に、URI に GET 値を渡すにはどうすればよいでしょうか?