0

PHPスクリプトでHTTPPOSTを使用してCURLを介してXMLデータを送信しようとしています。実行時に次のメッセージが表示されます。

見つかっ たドキュメントはここに移動しました。

そして、これが私のコードです。

<?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に精通しています。この問題を解決する方法を教えてもらえますか?

4

1 に答える 1

1

MrCode が指摘したように、サーバーが 301/302 で実際に応答しないか、PHP がセーフ モードで実行されているため、CURLOPT_FOLLOWLOCATION.

于 2012-04-19T10:49:17.240 に答える