こんにちは私は現在、xmlファイルを外部サーバーに投稿しようとしていますが、ヘッダーが正しくないという応答が返ってきています。私が掲示しているサーバーにはヘッダーがいくつか必要ですが、正しい形式であるか、含まれる必要がある他の「標準」ヘッダーがあるのだろうかと思います。PHP - HTTP Post-incorrect headers
私のコードは次のとおりです。
<?php
function httpsPost($Url, $xml_data, $headers)
{
// Initialisation
$ch=curl_init();
// Set parameters
curl_setopt($ch, CURLOPT_FORBID_REUSE, 1);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $Url);
// Return a variable instead of posting it directly
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch,CURLOPT_USERPWD,"username:password");
// Active the POST method
curl_setopt($ch, CURLOPT_POST, 1) ;
// Request
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// execute the connexion
$result = curl_exec($ch);
// Close it
curl_close($ch);
return $result;
}
$headers[0]="BATCH_TYPE: XML_SINGLE";
$headers[1]="BATCH_COUNT: 1";
$headers[2]="VENDOR_ID: 53906";
$request_file = "./post_this.xml";
$fh = fopen($request_file, 'r');
$xml_data = fread($fh, filesize($request_file));
fclose($fh);
$url = 'http://www.example.com/test.php';
$Response = httpsPost($url, $xml_data, $headers);
echo $Response;
?>
サーバーに関する詳細と表示されている正確なエラーメッセージを投稿すると役立ちます。 –
Firebugを使用した場合は、ここにある正確なヘッダー応答を投稿するのに役立ちます。 – andyk
問題はヘッダーが送信されているものとは異なって受信されているなどです。例:VENDOR_IDがベンダーIDとして受信されています。\ BATCH-TYPEがバッチタイプとして受信されています。あなたは私が何を意味するか見yopu'll http://www.xhaus.com/headersに上記の$ URLの値を変更した場合
.... – thegunner