Home  >  Article  >  php教程  >  curl post 与 get

curl post 与 get

PHP中文网
PHP中文网Original
2016-05-25 17:07:241024browse

代码

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;
	}
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn