PHPスクリプトでHTTP POSTを使用してCURLを使用してXMLデータを送信しようとしています。私は実行時に次のメッセージを受け取ります。302発見されたCURLを修正するには?
found here文書が移動しました。
これは私のコードです。
<?php
$url = "https://usm.channelonline.com/REQUEST";
$post_string = '<export_documents_request schemaVersion="4.0">
<options>
<onlyUnexported>false</onlyUnexported>
<eventInRange>
<eventType>modified</eventType>
<after>2005-01-01T10:00:00Z</after>
</eventInRange>
</options>
</export_documents_request>';
$header = "POST HTTP/1.1 \r\n";
$header .= "Content-type: text/xml \r\n";
$header .= "Content-length: ".strlen($post_string)." \r\n";
$header .= "Content-transfer-encoding: text \r\n";
$header .= "Connection: close \r\n\r\n";
$header .= $post_string;
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,TRUE);
curl_setopt($ch,CURLOPT_MAXREDIRS,10);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
$data = curl_exec($ch);
if(curl_errno($ch))
print curl_error($ch);
else
echo $data;
curl_close($ch);
?>
実行画面ビューです。
私はPHPで良いが、CURLとちょうどよく知って。この問題を解決する方法を教えてください。
'CURLOPT_FOLLOWLOCATION'を使用すると、リダイレクトに従います。サーバーが '200 OK 'で応答し、' 302'または '301'コードで応答するのではなく、' Found'メッセージを表示すると思われます。 – MrCode
このレスポンスはどのヘッダに送信されますか? –
どのように問題を修正しましたか?私は同じ問題を抱えています...ありがとう! – User2010101