php 发送post请求且header中带参数bug调试
更新:HHH   时间:2023-1-7


  通常get方式header中带参数如下通过curl调用即可:

    function send_get_curl_header($url, $data){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_TIMEOUT, 30);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $data);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

  注意$data格式为数组['AppToken: '.$token],而post发送时要注意postData要进行http_build_query才能成功代码如下:

function send_post_curl_header($url, $header_data , $post_data){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header_data);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post_data));
    $sResult = curl_exec($ch);
    if($sError=curl_error($ch)){
        die($sError);
    }
    curl_close($ch);
    return $sResult;
}

  大家注意,此处花费了我一定的时间去调试。

返回web开发教程...