Name
nntp_get — Returns information about an NNTP server.
Synopsis
array
nntp_get
(
|
in server varchar , |
in command varchar , | |
in group varchar , | |
in first_message integer , | |
in
last_message
integer
) ; |
Description
nntp_get()
is used to retrieve messages from a server running
the Network News Transfer Protocol (NNTP) as defined in
RFC977
. It returns
an array whose structure depends on the command
parameter, thus:
list : an array of vectors, each of which contain the name of the news group, the first message number, the last message number, and a single character 'y' or 'n' as a flag for posting. |
group : a vector of three elements: total number of messages in the group, the number of the first message, and the number of the last message. |
stat : an array of vectors, each of which contains the number of the message and the message id. |
article, body, head : an array of vectors each containing the message number and the requested part of the message. |
Parameters
server
The IP address or <hostname:port> of the host with which to
connect. There is no default for port
, so to connect to the
standard port for NNTP, use <hostname/IP address>:119.
command
Command string . Valid values are:
article |
body |
head |
stat |
list |
group |
xover |
group
A string containing the name of the newsgroup.
Return Types
A vector of vectors the content of which depends on the
command
parameter.
Errors
Table 24.58. Errors signalled by
SQLState | Error Code | Error Text |
---|---|---|
22023 | NN006 | the command is not recognized |
22023 | NN001 | Large ID in nntp_id_get |
2E000 | NN002 | Invalid address for News Server at [host] |
08001 | NN003 | Unable to Contact News Server at [host] |
08006 | NN004 | Lost connection with NNTP server |
08006 | NN005 | Misc. error in connection in nntp_get |
Examples
Example 24.225. Get remote messages
This example retrieves messages from a remote NNTP server and stores them in a table.
create table my_news (m_id integer, m_group varchar, m_text long varchar, primary key (m_id, m_group)); create procedure get_my_news (in server varchar, in grp varchar) { declare res, ent any; declare i, l integer; res := nntp_get (server, 'article', grp, 0, 1000); i := 0; l := length (res); while (i < l) { ent := res [i]; insert replacing my_news (m_id, m_group, m_text) values (ent[0], grp, ent[1]); i := i + 1; } }
Here is a test run. We extract the article subject with the mail_header()
function.
SQL> get_my_news ('news.techno-link.com:119', 'comp.lang.java.api'); SQL> select m_id, mail_header (m_text, 'Subject') from my_news; m_id callret INTEGER NOT NULL VARCHAR _______________________________________________________________________________ 2 New java method modifier "partial": not quite abstract, not quite concrete 3 Senior Design Project Ideas 4 java & dummy terminals 5 Re: What is the equivalent of WORD in Java 6 Re: What is the equivalent of WORD in Java