频道直达 - 学院 - 下载 - 交易 - 特效 - 字库 - 手册 -排名-工具- 繁體
网页教学网站开发 设为首页
加入收藏
联系我们
建站搜索: 常用广告代码   用户注册 | 用户登陆
您当前的位置:中国建站之家 -> 网站开发设计技术教程 -> PHP教程 -> 使用sockets:从新闻组中获取文章(二)

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

作者:未知  来源:转载  发布时间:2005-7-30 20:54:41  发布人:acx

减小字体 增大字体

与服务器对话
  现在我们已经连接到了服务器,可以通过前面打开的socket同服务器对话了。比如说我们要从某个新闻组得到最近的10篇文章。RFC977指出,第一步要用GROUP命令选择正确的新闻组:
    GROUP ggg
    参数ggg是要选择的新闻组的名字(比如说是"net.news"),这是必需的。可用的新闻组的列表可以用LIST命令得到。选择新闻组的命令成功后,返回组中第一篇和最后一篇文章的文章编号,以及组中文章的数目。
    下面是一个例子:
    chrome:~$ telnet my.news.host 119
    Trying aa.bb.cc.dd...
    Connected to my.news.host.
    Escape character is '^]'.
    200 my.news.host InterNetNews NNRP server INN 2.2.2 13-Dec-1999 ready (posting ok).
    GROUP alt.test
    211 232 222996 223235 alt.test
    quit
    205 .

    接收到命令 GROUP alt.test 后,服务器返回"211 232 222996 223235 alt.test". 211是RFC中定义的返回码,指示命令已成功执行。返回信息还指出,现在有232篇文章,最早的文章的编号是222996,最新的文章的编号是223235。我们看到,222996+232并不等于223235。丢失的7篇文章因为某种原因被从服务器删除了,可能是因为被它的合法作者取消了(这是可能的,而且很容易做到),或者因为是灌水文章而被删。
    需要注意的事,有些服务器在选择新闻组之前可能要求身份认证,这取决于这是一个公共的或者是私用的服务器。也有可能服务器允许任何人读取文章,但发表文章需要身份验证。

    <?php
       
      //$cfgUser    = "xxxxxx";
      //$cfgPasswd  = "yyyyyy";
      $cfgNewsGroup = "alt.php";

      //identification required on private server
      if($cfgUser) {
          fputs($usenet_handle, "AUTHINFO USER ".$cfgUser."n");
          $tmp = fgets($usenet_handle, 1024);
          fputs($usenet_handle, "AUTHINFO PASS ".$cfgPasswd."n");
          $tmp = fgets($usenet_handle, 1024);

          //check error
  
          if($tmp != "281 Okrn") {
              echo "502 Authentication errorn";
              exit();
          }
  }
   
  //select newsgroup
    
  fput($usenet_handle, "GROUP ".$cfgNewsGroup."n");
  $tmp = fgets($usenet_handle, 1024);
   
  if($tmp == "480 Authentication required for commandrn") {
     echo $tmp;
     exit();
  }
   
  $info = split(" ", $tmp);
  $first= $info[2];
  $last = $info[3];
   
  printf("First : %sn", $first);
  printf("Last : %lastn", $last);

?> 

将本文收藏到QQ书签与更多好友分享
[打 印]
[] [返回上一页] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
精彩推荐
热门文章
· 注册码大全二
· 注册码大全四
· 注册码大全一
· 要10G免费网络硬盘的请进..
· 通过google 赶快来赚美金..
· 注册码大全十
· 头像-qq头像(qq新头像)4..
· 让你轻松架设FTP服务器1..
· 注册码大全三
· 梦幻背景图片7
· 卡通动物图片6
· 网页制作素材-按钮素材2..
· 让你轻松架设FTP服务器5..
· 风景图片8
· 注册码大全九
· 让你轻松架设FTP服务器2..
关注此文读者还看过
· class.rFastTemplate.ph..
· 纳市首选北京异地敲钟 百..
· Photoshop应用实例 制作..
· SQL语句中的一些特殊参数..
· 用 PHP 开发健壮的代码(..
· ASP 3.0 新特色先睹为快..
· 将ASP代码移植为VB COM组..
· 熊猫烧香病毒出现自杀变..
· PHP超级配置模块--PHP4,..
· 孟祥光的金农网:要创一流..
· M327站长联盟开通了。。..
· JSP语法(9)——<jsp:g..
· 三 基类 调试类 错误类
· 照片处理:Photoshop偏色..
· Fireworks制作光泽按钮一..
· WEB2.0网站需要借鉴的七..
相关文章
· 使用sockets:从新闻组中获取..
· 使用sockets:从新闻组中获取..
· 在php中使用sockets:从新闻..
· 关于释放session的两篇文章..
· asp.net中的vb7中如何使用s..
· asp.net中的vb7中如何使用s..
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 人才招聘
网站合作、内容监督、商务咨询:QQ: 9576619
Copyright ? 2005--2008 中国建站之家版权所有
粤ICP备05092265号