当前位置: 首页 > news >正文

seo网站优化网站制作价格推 荐

seo网站优化,网站制作价格推 荐,站酷网怎么样,wordpress哪种主题好本文介绍一个php实现的http请求封装类#xff0c;封装了三种post提交方法和一个request请求方法#xff0c;并提供了调用示例#xff0c;供大家学习参考。在php编程调试时#xff0c;经常需要模拟提交。另外#xff0c;在抓取一些页面时#xff0c;需要经常请求别人的页面…本文介绍一个php实现的http请求封装类封装了三种post提交方法和一个request请求方法并提供了调用示例供大家学习参考。在php编程调试时经常需要模拟提交。另外在抓取一些页面时需要经常请求别人的页面。于是实现了一个http请求的封装类以方便调用。本http请求类封装了三种post提交方法和一个request请求方法。1http请求封闭类0){$this-init($params);}}// -----------------------/*** 参数初始化** param array $params*/public function init($params){if(count($params) 0){foreach($params as $key $val){if(isset($this-$key)){$this-$key $val;}}}}// -----------------------/*** 提交请求** param string $url 请求地址* param mixed $data 提交的数据* param string $type 提交类型curl,socket,stream可选*/public function post($url, $data, $type socket){if(!in_array($type, $this-post_type_list)){die(undefined post type);}$function_name $type . Post;return call_user_func_array(array($this, $function_name), array($url, $data));}// -----------------------/*** 更改默认的ua信息** 本方法常用于模拟各种浏览器** param string $ua_string UA字符串*/public function setUA($user_agent){$this-ua_string $user_agent;return $this;}// -----------------------/*** 设置本地cookie文件** 在用curl来模拟时常需要设置此项** param string $cookie_file 文件路径*/public function setCookieFile($cookie_file){$this-cookie_file $cookie_file;return $this;}// -----------------------/*** curl方式提交** param string $url 请求地址* param mixed $data 提交的数据* param string $user_agent 自定义的UA* return mixed*/public function curlPost($url, $data, $user_agent ){if($user_agent ){$user_agent $this-ua_string;}if (!is_array($data)){$data array($data);}$data http_build_query($data);if (!function_exists(curl_init)){die(undefined function curl_init);}$ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);$rs curl_exec($ch);curl_close($ch);return $rs;}// -----------------------/*** 套接字提交** param string $url 请求地址* param mixed $data 提交的数据* param string $user_agent 自定义的UA* param int $port 端口* param int $timeout 超时限制* return mixed*/public function socketPost($url, $data, $user_agent , $port 80, $timeout 30){$url_info parse_url($url);$remote_server $url_info[host];$remote_path $url_info[path];$socket fsockopen($remote_server, $port, $errno, $errstr, $timeout);if(!$socket){die($errstr($errno));}if($user_agent ){$user_agent $this-ua_string;}if (!is_array($data)){$data array($data);}$data http_build_query($data);fwrite($socket, POST {$remote_path} HTTP/1.0\r\n);fwrite($socket, User-Agent: {$user_agent}\r\n);fwrite($socket, HOST: {$remote_server}\r\n);fwrite($socket, Content-type: application/x-www-form-urlencoded\r\n);fwrite($socket, Content-length: . strlen($data) . \r\n);fwrite($socket, Accept:*/*\r\n);fwrite($socket, \r\n);fwrite($socket, {$data}\r\n);fwrite($socket, \r\n);$header ;while($str trim(fgets($socket, 4096))){$header . $str;}$data ;while(!feof($socket)){$data . fgets($socket, 4096);}return $data;}// -----------------------/*** 文件流提交** param string $url 提交地址* param string $data 数据* param string $user_agent 自定义的UA* return mixed*/public function streamPost($url, $data, $user_agent ){if($user_agent ){$user_agent $this-ua_string;}if (!is_array($data)){$data array($data);}$data http_build_query($data);$context array(http array(method POST,header Content-type: application/x-www-form-urlencoded. \r\n . User-Agent : . $user_agent . \r\n . Content-length: . strlen($data),content $data));$stream_context stream_context_create($context);$data file_get_contents($url, FALSE, $stream_context);return $data;}// -----------------------/*** 发送请求** 本方法通过curl函数向目标服务器发送请求** param string $url 请求地址* return mixed*/public function request($url){$ch curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_USERAGENT, !empty($this-ua_string)? $this-ua_string : $_SERVER[HTTP_USER_AGENT]);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);if (isset($this-cookie_file)){curl_setopt($ch, CURLOPT_COOKIEJAR, $this-cookie_file);}$data curl_exec($ch);curl_close($ch);return $data;}}?调用示例socket);$rs[] $HttpHelper-post($url, $data);$data array(namecurl);$rs[] $HttpHelper-post($url, $data, curl);$data array(namestream);$rs[] $HttpHelper-post($url, $data, stream);$rs[] $HttpHelper-request($url);print_r($rs);?3post.php文件4输出结果Array([0] test request:Array([name] socket)[1] test request:Array([name] curl)[2] test request:Array([name] stream)[3] test request:Array())
http://www.zqtcl.cn/news/415233/

相关文章:

  • 中国公路建设协会网站网站建设 业务培训
  • 原创文章网站开发教程安徽网站建设获客企业
  • 企业网站后台怎么做南京微网站开发
  • 网站seo在线优化广告策划书的格式
  • 网站解析怎么设置三北防护林体系建设网站
  • 长沙高端网站建设公司wordpress分享缩略图
  • 支付网站建设费管理咨询公司取名
  • dw网站制作的一般流程wordpress 分类列表页
  • 重庆技术支持 网站建设公司wordpress挂黑页
  • 2网站建设类似wordpress
  • 特别酷炫网站惠州的服装网站建设
  • 网站右侧悬浮代码网站新闻前置审批
  • 2015网站建设十堰网站优化排名
  • 营销网站的优点番禺人才网最新招聘市场在哪里?
  • 企业网站建站模板自己做网站网站资源哪里来
  • 接入服务商网站备案管理系统技术规范要求郴州网站建设软件定制开发制作
  • 温州做网站公司哪家好购物网站的基本功能
  • 网站建设网站建设教程建设糖果网站的好处有哪些
  • 松原手机网站开发wordpress数据库设计优缺点
  • 惠州建设工程造价管理站网站中国海洋大学站群网站建设
  • 怎么做网站里面的模块太原做网络推广
  • 网站关键词排名优化应该怎么做wordpress实惠主机
  • 服装 营销型网站案例网站建设资料需要公司提交的吗
  • 网站权重高 做别的关键词怎么查看网站是否被百度收录
  • 沈阳网站开发培训多少钱广州做网站的公司哪家好
  • 宁波江北建设局网站建筑室内设计公司
  • 辽宁网站seo做网站的不给ftp
  • 南宁seo网站排名优化公司电商主图一键生成免费
  • 宁波论坛建站模板wordpress发布公告
  • 电子政务门户网站建设汇报班级优化大师官网登录