您好,欢迎访问一九零五行业门户网

php通过curl函数取得数据、模拟登陆、POST数据

在php中我们如果要取得数据、模拟登陆、post数据等功能第一个想到的肯定是curl函数了,这个函数方便实用并且还可以多线程了下面整理了一个例子,有兴趣的朋友可参考.
例子,使用php curl获取网页数据的方法,代码如下:
syxrrrr,pw => 123456);$ch = curl_init();curl_setopt($ch, curlopt_url, $url);curl_setopt($ch, curlopt_returntransfer, 1);curl_setopt($ch, curlopt_post, 1);curl_setopt($ch, curlopt_postfields, $post_data);$output = curl_exec($ch);curl_close($ch);echo $output;取得数据、模拟登陆、post数据, 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含post、header等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header: 头文件 * $post: post方式提交 array形式 * $cookies: 0默认无cookie,1为设置,2为获取*/public function curl_allinfo($urls, $header = false, $post = false, $cookies = 0) {$url = is_array($urls) ? $urls['0'] : $urls;$ch = curl_init();curl_setopt($ch, curlopt_url, $url);curl_setopt($ch, curlopt_returntransfer, 1);//带header方式提交if ($header != false) {curl_setopt($ch, curlopt_httpheader, $header);}//post提交方式if ($post != false) {curl_setopt($ch, curlopt_post, 1);curl_setopt($ch, curlopt_postfields, $post);}if ($cookies == 1) {curl_setopt($ch, curlopt_cookiejar, cookiefile);} else if ($cookies == 2) {curl_setopt($ch, curlopt_cookiefile, cookiefile);}if (is_array($urls)) {curl_setopt($ch, curlopt_ssl_verifypeer, false);curl_setopt($ch, curlopt_ssl_verifyhost, false);}$data = curl_exec($ch);curl_close($ch);return $data;}最后附一个模仿搜索引擎蜘蛛来抓取网页, 代码如下:function get_web_page($url) {$options = array(curlopt_returntransfer => true, // return web page 返回网页curlopt_header => false, // 不返回头信息curlopt_followlocation => true, // follow redirectscurlopt_encoding => , // handle all encodingscurlopt_useragent => spider, // 设置useragentcurlopt_autoreferer => true, // set referer on redirectcurlopt_connecttimeout => 120, // timeout on connect 连接超时curlopt_timeout => 120, // timeout on response 回复超时curlopt_maxredirs => 10, // stop after 10 redirects);$ch = curl_init($url);curl_setopt_array($ch, $options);$content = curl_exec($ch);$err = curl_errno($ch);$errmsg = curl_error($ch);$header = curl_getinfo($ch);curl_close($ch);$header[''errno''] = $err;$header[''errmsg''] = $errmsg;$header[''content''] = $content;return $header;}
本文地址:
转载随意,但请附上文章地址:-)
其它类似信息

推荐信息