curl post 与 get
程序员文章站
2022-06-02 21:00:19
...
代码
function curl_post_contents($url, $data = array(), $cookiepath = '',$timeout=10){ $userAgent = 'Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.1;+SV1)'; $referer = $url; if(!is_array($data) || !$url) return ''; $post = ''; foreach($data as $key => $value){ $post .= $key . '=' . urlencode($value) . '&'; } rtrim($post, '&'); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //设置访问的url地址 curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); //设置超时 curl_setopt($ch, CURLOPT_USERAGENT, $userAgent); //用户访问代理 User-Agent curl_setopt($ch, CURLOPT_REFERER, $referer); //设置 referer curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); //跟踪301 curl_setopt($ch, CURLOPT_POST, 1); //指定post数据 curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //添加变量 curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiepath); //COOKIE的存储路径,返回时保存COOKIE的路径 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回结果 $content = curl_exec($ch); curl_close($ch); return $content; } function curl_get_contents($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); @curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, true); curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 86400); // 缓存一天 $content = curl_exec($ch); curl_close($ch); return $content; }
推荐阅读
-
CURL模拟客户端 post语音文件有关问题,求大神指教
-
php中ob_get_length缓冲与获取缓冲长度实例,phpob_get_length
-
PHP的cURL库功能简介:抓取网页,POST数据及其他_PHP教程
-
php get_headers 与get_meta_tags函数实例_PHP教程
-
php中file_get_contents与curl性能比较分析,curlgetcontents
-
php中ob_get_length缓冲与获取缓冲长度实例
-
php自动提交表单的方法(基于fsockopen与curl),fsockopencurl
-
PHP $ _POST函数 与$_GET函数详解
-
php中file_get_contents与curl性能比较分析
-
php中$_GET与$_POST过滤sql注入的方法_PHP