使用sockets:从新闻组中获取文章(三)


Posted in PHP onOctober 09, 2006

读取文章
    既然我们已经得到了最后一篇文章的文章编号,读取最后的十篇文章就是很容易的事了。RFC977中说,ARTICLE命令既可以使用文章编号,也可以使用它的消息ID.
    这里要注意,文章编号跟它的消息ID是不同的,因为每个新闻服务器分配自己的文章编号,所以同一篇文章在两个不同的服务器上的编号是不一样的,而文章的消息ID,是包括在文章的头信息里,并且是唯一的。

   <?php
     $cfgLimit =10;

     //upload last articles

     $boucle = $last-$cfgLimit;

     while ($boucle<=$last) {
       set_time_limit(0);
       fputs($usenet_handle, "ARTICLE $bouclen");

       $article="";
       $tmp=fgets($usenet_handle, 4069);
       if(substr($tmp,0,3) != "220") {
           echo "+----------------------+n";
           echo "Error on article $bouclen";
           echo "+----------------------+n";
       }
       else {
           while($tmp!=".rn") {
              $tmp = fgets($usenet_handle, 4096);
              $article .=$tmp;
           }

           echo "+----------------------+n";
           echo "Article $bouclen";
           echo "+----------------------+n";
           echo "$articlen";
       }

       $boucle++;
  }

  ?>

    我们从服务器的这个新闻组中读取了最后的十篇文章,。也可以通过使用HEAD命令读取文章的头信息,或者使用BODY命令读取文章内容。

关闭连接
    最后,通过调用fclose()函数关闭socket,结束同NNTP服务器的对话。

    <?php
      //close connection
      fclose($usenet_handle);
    ?>
    关于fclose()的更多信息,请参考 http://www.php.net/manual/function.fclose.php

结论
    在上文中,我们看到了怎样打开、使用然后关闭一个socket:连接到一个NNTP服务器,取回一些文章。使用POST命令发表文章也复杂不到哪儿去。
    下一步就是编写一个基于WEB的新闻组客户端了。
    存储这些文章,用某个搜索引擎(比如说http://www.htdig.org)对文章进行索引也是非常容易的。这样,你有了一个基于web的搜索新闻组的程序了。
    这样的程序的一个例子可以在http://www.phpindex.com/ng/得到。 

PHP 相关文章推荐
模拟SQLSERVER的两个函数:dateadd(),datediff()
Oct 09 PHP
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
Sep 09 PHP
smarty基础之拼接字符串的详解
Jun 18 PHP
php通过记录IP来防止表单重复提交方法分析
Dec 16 PHP
php文件夹的创建与删除方法
Jan 24 PHP
php二维码生成
Oct 19 PHP
php获取远程文件的内容和大小
Nov 03 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
PHP PDOStatement::fetch讲解
Jan 31 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
PHP+MYSQL的文章管理系统(二)
Oct 09 #PHP
使用sockets:从新闻组中获取文章(二)
Oct 09 #PHP
通过ODBC连接的SQL SERVER实例
Oct 09 #PHP
如何对PHP程序中的常见漏洞进行攻击(下)
Oct 09 #PHP
模拟OICQ的实现思路和核心程序(三)
Oct 09 #PHP
模拟OICQ的实现思路和核心程序(一)
Oct 09 #PHP
PHP自动更新新闻DIY
Oct 09 #PHP
You might like
汉字转化为拼音(php版)
2006/10/09 PHP
其他功能
2006/10/09 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
Linux下安装PHP MSSQL扩展教程
2014/10/24 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
jquery的颜色选择插件实例代码
2008/10/02 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
angular十大常见问题
2017/03/07 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
2018/03/14 Javascript
Cookbook组件形式:优化 Vue 组件的运行时性能
2018/11/25 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
JS实现放烟花效果
2020/03/10 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
Python 列表去重去除空字符的例子
2019/07/20 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
python实现FTP循环上传文件
2020/03/20 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
幼儿园保育员岗位职责
2014/04/13 职场文书
《郑和远航》教学反思
2014/04/16 职场文书
商场租赁意向书
2014/07/30 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2014年度党员自我评议
2014/09/13 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
2015年财务人员个人工作总结
2015/07/27 职场文书
新手入门Mysql--概念
2021/06/18 MySQL