>php教程 >PHP源码 >curl post 与 get

curl post 与 get

PHP中文网
PHP中文网원래의
2016-05-25 17:07:241052검색

代码

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;
	}
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.