PHPのcURLスクリプトでPOSTリクエストを送信する際に問題が発生します。
私は、基本的に、私自身の個人的な使用のために、サーバーを介してWebページを取得し、それをローカルに表示するプロキシを作成しようとしています。
URLは次のようになります:http://fetch.example.com/http://theurl.com/
そのページにフォームを投稿すると、フォームのACTIONに移動します(フェッチURLが前に表示されます)。以下のコードを使用してこのPOSTリクエストを処理させようとしていますが、POSTを実行すると、常に400BadRequestエラーが発生します。
$chpg = curl_init();
curl_setopt($chpg, CURLOPT_URL, $_URL);
curl_setopt($chpg, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($chpg, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($chpg, CURLOPT_COOKIESESSION, true);
curl_setopt($chpg, CURLOPT_COOKIEJAR, "cookies/$_COOKIE_FILE.$_DOMAIN.txt");
curl_setopt($chpg, CURLOPT_COOKIEFILE, "cookies/$_COOKIE_FILE.$_DOMAIN.txt");
if($_POST) {
$fields = array();
foreach($_POST as $col => $val) {
$fields[$col] = urlencode($val);
}
print_r($fields);
curl_setopt($chpg, CURLOPT_POST, count($fields));
curl_setopt($chpg, CURLOPT_POSTDATA, $fields);
}