PHP卷曲给出错误的请求 - 无效的标题

时间:2015-08-14 12:49:22

标签: php xml curl

  1. 当我尝试使用xml标题以及发布字段时尝试使用curl。我收到的错误是错误的请求。我不知道出了什么问题,任何人都可以帮忙吗?

  2. 标题中传递的移动字段数据是三重转换

  3. $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;
    

1 个答案:

答案 0 :(得分:0)

错误请求 通常是从您与之交互的服务器发送的,告诉您该请求存在严重问题,通常是到目前为止,格式错误的 HTTP请求,远程服务器根本不知道如何处理它。

也就是说:你打破了它的累积奖金。

从您的请求中逐位删除,直到您收到更具体的错误消息,可以在再次添加内容时更准确地指导您再次遇到相同的错误。

这只是一般建议。我可以更具体地发现问题已经被提出并且已经回答过了,因此我将其与一个应该提醒您的副本关闭,因为当您尝试处理它时,卷曲处理内容长度通常更容易(不双关语。)