1

送信時に新しい URL でページを更新する必要があるフォームがあります。

ただし、新しい URL は curl 関数の出力から取得する必要があります。

現時点では、カール機能を正しく動作させることができますが、その URL でページを更新する代わりに、ページに URL を印刷するだけです。

その URL を使用してページを更新する方法を知っていますか?

前もって感謝します

編集:

$ch = curl_init();  

curl_setopt($ch, CURLOPT_URL, "http://uk.ImpulsePay.com/payforit?RouteID=5432&URL=Y"); 
curl_setopt($ch, CURLOPT_HEADER, 0);   


header( "Location: curl_exec($ch)");
curl_close($ch);

上記のリンクにアクセスすると、本文にリンクを含むページが表示されます。私は、ページの本文でリンクを取得しようとしています。次に、ページをそのページに更新します。

それは理にかなっていますか?

4

1 に答える 1

2

PHP の header() メソッドを使用する場合は、次のページを参照してください: http://php.net/manual/en/function.header.php

これが彼らの例です:

header("Location: http://www.example.com/"); /* Redirect browser */

次の行に注意してください。

実際の出力が送信される前に header() を呼び出す必要があることに注意してください

一部のコンテンツがすでに「印刷」された後にヘッダーを変更する必要がある場合は、出力バッファリングを使用する必要があります。開始するには、このページを参照してください: http://php.net/manual/en/function.ob-start. php

更新: 二重引用符内で機能を実行できないため、curl_exec( $ch ) は実行されていません。変数を挿入することしかできません。

やりたいことは次のとおりです。

$httpResponse = curl_exec( $ch );
header( "Location: $httpResponse");

応答が単なる URL であると仮定すると、これにより、ユーザーのブラウザーが curl 要求によって返された値にリダイレクトされます。

更新: 返信転送の設定がないことを見逃していました。行の後に次の行を追加する必要がありますCURLOPT_HEADER

curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );

これにより、curl_exec はブール値の成功を示す代わりに応答を返すようになります。

http://php.net/manual/en/function.curl-exec.phpの「戻り値」セクションを参照してください。

于 2012-04-14T15:25:11.850 に答える