Heim  >  Artikel  >  php教程  >  curl远程传输工具

curl远程传输工具

PHP中文网
PHP中文网Original
2016-05-22 18:26:581023Durchsuche


/**
 * curl远程传输工具
 */
public function post_curl($url,$body,$header,$type='POST'){
	$ch = curl_init();
	curl_setopt($ch,CURLOPT_URL,$url);
	curl_setopt($ch,CURLOPT_HEADER,0);//0只要正文
	curl_setopt($ch,CURLOPT_TIMEOUT,5);//设置超时时间
	curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
       //将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
	curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
       //增加header头信息
	// array_push($header,'Accept:application/json');
	// array_push($header,'Content-Type:application/json');
	// array_push($header,'http:multipart/form-data');
	if(count($body)>0){
		curl_setopt($ch,CURLOPT_POSTFIELDS,$body);
	}
	if(count($header)>0){
		curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
	}
	//设置上传文件相关
	curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
	curl_setopt($ch,CURLOPT_MAXREDIRS,3);//递归
	curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);// 对认证证书来源的检查
	curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);// 从证书中检查SSL加密算法
	switch ($type) {
		case 'GET':
				curl_setopt($ch,CURLOPT_HTTPGET,1);
			break;
		case 'POST':
				curl_setopt($ch,CURLOPT_POST,1);
			break;
		case 'PUT':
				curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'PUT');
			break;
		case 'DELETE':
				curl_setopt($ch,CURLOPT_CUSTOMREQUEST,'DELETE');
			break;
	}
        //上传文件相关设置
	curl_setopt($ch,CURLOPT_ENCODING,'gzip');
	curl_setopt($ch,CURLOPT_USERAGENT,'SSTS Browser/1.0');
	curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)');// 模拟用户使用的浏览器
	if(curl_errno($ch)){
		return curl_error($ch);
	}
	$content = curl_exec($ch);
	curl_close($ch);//关闭curl资源,并且释放系统资源
	$result = json_decode($content,true);
	if(!empty($result)){
		return $result;
	}else{
		return $content;
	}
}

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn