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

咨询行业网站制作山西两学一做网站登录

咨询行业网站制作,山西两学一做网站登录,企业邮箱哪家比较好,建设农家书屋官方网站一般我们访问HTTP方式很多#xff0c;主要是#xff1a;curl, socket, file_get_contents() 等方法。 如果碰到对方服务器一直没有响应的时候#xff0c;我们就悲剧了#xff0c;很容易把整个服务器搞死#xff0c;所以在访问http的时候也需要考虑超时的问题。 [b]一、CUR…一般我们访问HTTP方式很多主要是curl, socket, file_get_contents() 等方法。 如果碰到对方服务器一直没有响应的时候我们就悲剧了很容易把整个服务器搞死所以在访问http的时候也需要考虑超时的问题。 [b]一、CURL 访问HTTP[/b] CURL 是我们常用的一种比较靠谱的访问HTTP协议接口的lib库性能高还有一些并发支持的功能等。 curl_setopt($ch, opt) 可以设置一些超时的设置主要包括 *(重要) CURLOPT_TIMEOUT 设置cURL允许执行的最长秒数。 *(重要) CURLOPT_TIMEOUT_MS 设置cURL允许执行的最长毫秒数。 在cURL 7.16.2中被加入。从PHP 5.2.3起可使用 CURLOPT_CONNECTTIMEOUT 在发起连接前等待的时间如果设置为0则无限等待。 CURLOPT_CONNECTTIMEOUT_MS 尝试连接等待的时间以毫秒为单位。如果设置为0则无限等待。 在cURL 7.16.2中被加入。从PHP 5.2.3开始可用 CURLOPT_DNS_CACHE_TIMEOUT 设置在内存中保存DNS信息的时间默认为120秒。 curl普通秒级超时 $ch curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT,60); //只需要设置一个秒的数量就可以 curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars[HTTP_USER_AGENT]); curl普通秒级超时使用 curl_setopt($ch, CURLOPT_TIMEOUT,60); curl如果需要进行毫秒超时需要增加 curl_easy_setopt(curl, CURLOPT_NOSIGNAL,1L); //或者是 curl_setopt ( $ch, CURLOPT_NOSIGNAL,true);//是可以支持毫秒级别超时设置的 curl一个毫秒级超时的例子 if(!isset($_GET[foo])){ // Client $ch curl_init(http://example.com/); curl_setopt($ch, CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_NOSIGNAL,1); //注意毫秒超时一定要设置这个 curl_setopt($ch, CURLOPT_TIMEOUT_MS,200); //超时毫秒cURL 7.16.2中被加入。从PHP 5.2.3起可使用 $data curl_exec($ch); $curl_errno curl_errno($ch); $curl_error curl_error($ch); curl_close($ch); if($curl_errno 0){ echo cURL Error ($curl_errno): $curl_error\n; }else{ echo Data received: $data\n; }}else{ // Server sleep(10); echo Done.;} 其他一些技巧 1. 按照经验总结是cURL 版本 libcurl/7.21.0 版本毫秒级超时是一定生效的切记。 2. curl_multi的毫秒级超时也有问题。。单次访问是支持ms级超时的curl_multi并行调多个会不准 [b]二、流处理方式访问HTTP[/b] 除了curl我们还经常自己使用fsockopen、或者是file操作函数来进行HTTP协议的处理所以我们对这块的超时处理也是必须的。 一般连接超时可以直接设置但是流读取超时需要单独处理。 自己写代码处理: $tmCurrent gettimeofday(); $intUSGone ($tmCurrent[sec]- $tmStart[sec])*1000000 ($tmCurrent[usec]- $tmStart[usec]); if($intUSGone $this-_intReadTimeoutUS){ returnfalse; } 或者使用内置流处理函数 stream_set_timeout() 和 stream_get_meta_data() 处理 // Timeout in seconds $timeout 5; $fp fsockopen(example.com,80, $errno, $errstr, $timeout);if($fp){ fwrite($fp,GET / HTTP/1.0\r\n); fwrite($fp,Host: example.com\r\n); fwrite($fp,Connection: Close\r\n\r\n); stream_set_blocking($fp,true); //重要设置为非阻塞模式 stream_set_timeout($fp,$timeout); //设置超时 $info stream_get_meta_data($fp); while((!feof($fp))(!$info[timed_out])){ $data . fgets($fp,4096); $info stream_get_meta_data($fp); ob_flush; flush(); } if($info[timed_out]){ echo Connection Timed Out!; }else{ echo $data; }} file_get_contents 超时 $timeout array( http array( timeout5//设置一个超时时间单位为秒 ));$ctx stream_context_create($timeout);$text file_get_contents(http://example.com/,0, $ctx); fopen 超时 $timeout array( http array( timeout 5 //设置一个超时时间单位为秒 ));$ctx stream_context_create($timeout);if ($fp fopen(http://example.com/, r, false, $ctx)) { while( $c fread($fp, 8192)) { echo $c; } fclose($fp);} 如果您觉得本文的内容对您的学习有所帮助您可以微信 [img]http://dl2.iteye.com/upload/attachment/0109/0668/fb266dfa-95ca-3d09-b41e-5f04a19ba9a1.png[/img]
http://www.dnsts.com.cn/news/85482.html

相关文章:

  • 招远做网站公司什么服装网站做一件代发
  • 自动生成图片的网站深圳百度推广代理商
  • 跨境电商网站如何做推广东莞网页网站制作
  • 做网站需要网页嵌套吗安踏网络营销推广案例
  • 360网站点评建站助手
  • 做网站和网络推广wordpress seo插件教程
  • html网站设计作品wordpress拉
  • 强企网做网站网站开发所遵循
  • 怎么用ps做网站首页字wordpress商业用途
  • 几个做ppt的网站知乎网站开发相关技术发展
  • 开发网站的流程游戏后端开发
  • 旅游网页设计论文5000字整站优seo排名点击
  • 网站制作方案答案是螃蟹的迷语网站定制成exe
  • 建设厅网站的秘钥怎么买建行个人网上银行登录入口
  • 关于网站开发制作的相关科技杂志的网站附近哪有学编程的地方
  • wordpress创意点赞如何优化网站
  • 柳州做网站有kv智慧团建网页电脑版登录网站
  • 南城县建设局网站做设计找素材都有什么网站
  • 网站建设维护东莞常平哪里好玩
  • 南靖企业网站建设公司在线制作gif表情包生成器
  • 旅游网站模板htmlwordpress宽度
  • 网站建设的一般流程排序为电商产品推广文案
  • 东莞市住房建设局网站WordPress的king免费
  • 天津市网站制作建设推广公司空投网站建设
  • 手机制作网站app天津城乡住房建设厅网站首页
  • 湛江怎么做网站关键词优化wordpress注册取消邮箱验证
  • 手机网站代码下载宿迁二手房58同城急售
  • 网站的站内结构锚文本是如何做的黄石市下陆区建设管理局网站
  • 网站建设 选择题软件培训计划和培训内容
  • 做商城网站买多大的空间安徽省城乡建设网站