几个curl和XML相关的function

最近在搞API开发,怕自己忘记了,或者还要翻相应的程序去找,所以就把它贴出来吧。
class baseinfo{

    //直接通过curl方式取得数据
    public function curl_info($url) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }

    //html转成xml格式
    public function htmltoxml($url) {
        $meta = '';  //如果没有这个,就会乱码。
        $data = $this->curl_info($url);
        $page_data = $meta . $data;
        $xmldoc = new DOMDocument();
        @$xmldoc->loadHTML($page_data);  //通过curl获取产品信息
        //@$xmldoc->loadHTMLFile($url);  //直接通过网址获取产品信息(有时会乱码)
        $xmldoc->normalizeDocument();
        return $xmldoc;
    }

    //data转成xml格式
    public function datatoxml($data) {
        $meta = '';  //如果没有这个,就会乱码。
        $page_data = $meta . $data;
        $xmldoc = new DOMDocument();
        @$xmldoc->loadHTML($page_data);  //通过curl获取产品信息
        $xmldoc->normalizeDocument();
        return $xmldoc;
    }

    //通过POST方式取得数据,其中$url为表单的POSTurl方式。
    function curl_postinfo($url, $posturl) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("application/x-www-form-urlencoded; charset=UTF-8"));
        curl_setopt($ch, CURLOPT_POST, 1); //post提交方式
        curl_setopt($ch, CURLOPT_POSTFIELDS, $posturl);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
}

你可能感兴趣的:(几个curl和XML相关的function)