private function weatherResponse($keyword)
    {
$ch = curl_init();
     $url = "http://apis.baidu.com/heweather/weather/free?city=beijing&output=xml";
        $header = array('apikey:c5a109189f64b336befe49315f2565d1',);
     // 添加apikey到header
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER,true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,120);
curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
curl_setopt($ch,CURLOPT_URL,$url);
$result = curl_exec($ch);
curl_close($ch);
return $result;
    }
求 高

解决方案 »

  1.   


    你可以加一个执行curl的错误提示, 如果是curl出错的话,再好好检查一下,如果不是的话,就得好好看看api文档是不是这样传值的
      

  2.   

    你的代码没有问题的,可以提交
    如果提交不行,可以输出curl_error看看有什么错误。client.php<?php
    $ch = curl_init();
    $url = "http://www.example.com/server.php";
    $header = array('apikey:c5a109189f64b336befe49315f2565d1',);
    // 添加apikey到header
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
    curl_setopt($ch,CURLOPT_HEADER,true);
    curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,120);
    curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
    curl_setopt($ch,CURLOPT_URL,$url);
    $response = curl_exec($ch);
    if($error=curl_error($ch)){
        die($error);
    }
    curl_close($ch);
    echo $response;
    ?>
    server.php<?php
    $header = get_all_headers();
    echo json_encode($header);/**
     * 获取自定义的header数据
     */
    function get_all_headers(){    // 忽略获取的header数据
        $ignore = array('host','accept','content-length','content-type');    $headers = array();    foreach($_SERVER as $key=>$value){
            if(substr($key, 0, 5)==='HTTP_'){
                $key = substr($key, 5);
                $key = str_replace('_', ' ', $key);
                $key = str_replace(' ', '-', $key);
                $key = strtolower($key);            if(!in_array($key, $ignore)){
                    $headers[$key] = $value;
                }
            }
        }    return $headers;}
    ?>