0

だから私は別のシステムにデータを投稿していて、システムが応答して2秒後にユーザーをリダイレクトする「リダイレクトURL」を取得したいのですが、次のようになります:

要求された URL /somescript.aspx がこのサーバーで見つかりませんでした。

私が間違っていることは何ですか?それとも他に何かあるのでしょうか?

<?php 
$strURL = 'http://someplace.com/somescript.aspx'; 
$fields_string = implode('&', (array)$_SESSION['apply']);

$resURL = curl_init(); 
curl_setopt($resURL, CURLOPT_URL, $strURL); 
curl_setopt($resURL, CURLOPT_POST, true);
curl_setopt($resURL, CURLOPT_POSTFIELDS, $fields_string);
curl_setopt($resURL, CURLOPT_HEADER, TRUE);
curl_setopt($resURL, CURLOPT_FOLLOWLOCATION, FALSE);
$response = curl_exec($resURL); 
$RedirectLocation = curl_getinfo($resURL, CURLINFO_EFFECTIVE_URL);

unset($_SESSION['apply']); ?>
<script type="text/javascript">
$(function() {
    setTimeout(function() {
        window.location.href = "<?php echo $RedirectLocation; ?>";
    }, 2000)
});
</script>
4

1 に答える 1

0

301/302 リダイレクト ターゲットを取得しようとしていますが、実際にはそれに従っていませんか? true に設定し、応答からヘッダーCURLOPT_RETURNTRANSFERを解析します。Location:

私が何を意味するかを確認するには、コードを次のように変更します。

curl_setopt($resURL,CURLOPT_RETURNTRANSFER);
$response = curl_exec($resURL); 
echo $repsonse

リダイレクトに従うようにcurlを設定しないと、 IIRCCURLINFO_EFFECTIVE_URLは変更されません。

于 2013-06-27T22:56:08.053 に答える