您好,欢迎访问一九零五行业门户网

php curl , fsockopen 函数

下面直接给出 使用 curl 和 fsockopen 的例子,你可以当成使用实例,也可以直接当作封装好的函数直接使用。
curl函数使用代码
publicfunctionxcurl($url,$ref=null,$post=array(),$ua=mozilla/5.0 (x11; linux x86_64; rv:2.2a1pre) gecko/20110324 firefox/4.2a1pre,$print=false) {$ch = curl_init(); curl_setopt($ch, curlopt_autoreferer, true); if(!empty($ref)) { curl_setopt($ch, curlopt_referer, $ref); } curl_setopt($ch, curlopt_url, $url); curl_setopt($ch, curlopt_header, 0); curl_setopt($ch, curlopt_followlocation, 1); curl_setopt($ch, curlopt_returntransfer, 1); if(!empty($ua)) { curl_setopt($ch, curlopt_useragent, $ua); } if(count($post) > 0){ curl_setopt($ch, curlopt_post, 1); curl_setopt($ch, curlopt_postfields, $post); } $output = curl_exec($ch); curl_close($ch); if($print) { print($output); } else { return$output; }}
fsockopen 函数使用代码:
publicfunctioncurl_request_async($url, $params, $type='get') {// set referer$referer = $_server['http_host']; foreach ($paramsas$key => &$val) { if (is_array($val)) $val = implode(',', $val); $post_params[] = $key.'='.urlencode($val); } $post_string = implode('&', $post_params); $parts=parse_url($url); @$fp = fsockopen($parts['host'], isset($parts['port'])?$parts['port']:80, $errno, $errstr, 2); if(!$fp){ echo$errstr ($errno)
\n; }else{ if('get' == $type) $parts['path'] .= '?'.$post_string; $out = $type .$parts['path']. http/1.1\r\n; $out.= host: .$parts['host'].\r\n; $out.= referer: .$referer.\r\n; $out.= content-type: application/x-www-form-urlencoded\r\n; $out.= connection: close\r\n\r\n; // data goes in the request body for a post requestif ('post' == $type && isset($post_string)) $out.= $post_string; fwrite($fp, $out); fclose($fp); } }
仅仅 从如上的函数,使用上的区别其中重要的一点就是:
curl 请求某个url 需要等待结果返回,而 fsockopen 不需要返回,发送请求后就继续执行代码。除非你使用 fsockopen 需要打印请求后返回的结果。
版权声明:转载请注明出处:http://blog.csdn.net/m0sh1
以上就介绍了php curl , fsockopen 函数,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息