当我尝试使用xml标题以及发布字段时尝试使用curl。我收到的错误是错误的请求。我不知道出了什么问题,任何人都可以帮忙吗?
标题中传递的移动字段数据是三重转换
$url="www.test.com/api";
$xml = '<?xml version="1.0" encoding="UTF-8"?><a><b>hai</b></a>';
$xml_header = trim('<?xml version="1.0" encoding="UTF-8"?><mobile>4xKReHFU60Ova0aqHxZldg==</mobile>
') ;
$headers = array(
"Content-type: text/xml",
"Content-length: " .strlen($xml_header),
"Connection: close",
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// set url
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, array("xml"=>$xml));
// Check if any error occurred
if(!curl_errno($ch))
{
$info = curl_getinfo($ch);
echo "<pre>";var_dump($info);
echo 'error:' . curl_error($ch);
//echo 'Took ' . $info['total_time'] . ' seconds to send a request to ' . $info['url'];
}
$result = curl_exec($ch);
echo "<pre>";print_r($result);exit;
答案 0 :(得分:0)
错误请求 通常是从您与之交互的服务器发送的,告诉您该请求存在严重问题,通常是到目前为止,格式错误的 HTTP请求,远程服务器根本不知道如何处理它。
也就是说:你打破了它的累积奖金。
从您的请求中逐位删除,直到您收到更具体的错误消息,可以在再次添加内容时更准确地指导您再次遇到相同的错误。
这只是一般建议。我可以更具体地发现问题已经被提出并且已经回答过了,因此我将其与一个应该提醒您的副本关闭,因为当您尝试处理它时,卷曲处理内容长度通常更容易(不双关语。)