Dialog with server
Now that we have connected to the server, we can talk to the server through the socket that was opened earlier. Let's say we're going to get the latest 10 articles from a news group. RFC977 points out that the first step is to select the correct newsgroup with the group command:
GROUP GGG
The parameter GGG is the name of the newsgroup to select (for example, "Net.news"), which is required. A list of available newsgroups can be obtained by using the List command. When you select a newsgroup command successfully, returns the article number for the first and last article in the group, and the number of articles in the group.
Here is an example:
chrome:~$ Telnet My.news.host 119
Trying aa.bb.cc.dd ...
Connected to My.news.host.
Escape character is ' ^] '.
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.
After receiving the command GROUP alt.test, the server returns "211 232 222996 223235 alt.test". 211 is the return code defined in the RFC indicating that the command was executed successfully. The return information also points out that there are now 232 articles, the oldest article is numbered 222996, and the latest article is numbered 223235. We see that 222996+232 is not equal to 223235. The 7 lost articles were removed from the server for some reason, possibly because it was canceled by its rightful author (which is possible and easy to do), or was deleted because it was an article of irrigation.
It is important to note that some servers may require authentication before selecting newsgroups, depending on whether it is a public or private server. It is also possible that the server allows anyone to read the article, but publishing an article requires authentication.
$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);
?>
http://www.bkjia.com/PHPjc/315325.html www.bkjia.com true http://www.bkjia.com/PHPjc/315325.html techarticle talk to the server now that we are connected to the server, we can talk to the server through the previously opened socket. Let's say we're going to get the latest 10 articles from a news group. ...