欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

curl post 与 get

程序员文章站 2022-05-30 18:49:35
...
代码
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;
	}