发信人: love1974()
整理人: girlrong(1999-11-10 07:48:48), 站内信件
|
RED HAT LINUX6下编译通过(CGIC1.06版本)
#include <cgic.c>
/*#include <stdio.h>*/
#include <fcntl.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
/*#include <string.h>*/
#define HOST_ADDR "159.226.1.19"
#define HOST_PORT 80
int get_domain(char *buf,char *rst);
void cgi_out(char *error,char *rst);
int cgiMain()
{
FILE *mydebug;
int s;
int iResult;
struct sockaddr_in addr;
char strSubAddr[100],strBuffer[100],result[10000],tmp[10000];
char domain[50],tmp_domain[50];
int ext_choose,k;
char *ext[]={"com","net","org"};
strcpy(domain,"");
ext_choose=0;
k=0;
cgiFormStringNoNewlines("domain",domain,45);
cgiFormSelectSingle("ext",ext,3,&ext_choose,0);
if((domain==""))
{
cgi_out("Please Select Domain or Ext Name!\r\n","");
return 0;
}
s=socket(AF_INET,SOCK_STREAM,0);
if(s<0)
cgi_out("Create Socket Error! \r\n","");
addr.sin_family=AF_INET;
addr.sin_port=htons(HOST_PORT);
addr.sin_addr.s_addr=inet_addr(HOST_ADDR);
iResult=connect(s,(struct sockaddr *)&addr,sizeof(addr));
if(iResult<0)
{
/*error*/
cgi_out("Remote Server Connect Error!\r\n","");
close(s);
return 1;
}
else
{
sprintf(strSubAddr,"GET /cgi-bin/srdp?%s.%s.cn \r\n",
domain,ext[ext_choose]);
iResult=send(s,strSubAddr,strlen(strSubAddr),0);
do
{
iResult=recv(s,strBuffer,sizeof(strBuffer),0);
strncat(tmp,strBuffer,strlen(strBuffer)-strlen(strSubAddr) );
}while(iResult!=0);
if(get_domain(tmp,result)==1)
cgi_out("<CENTER>
您选择的域名在域名数据库中没有找到,您可以注册此域 名</CENTER><BR>","");
else
cgi_out("",result);
/* mydebug=fopen("/home/liyuhua/query/query.debug","wt");
fputs(strBuffer,mydebug);
fclose(mydebug);*/
}
close(s);
return 0;
}
int get_domain(char *buf,char *rst)
{
int i=0;
char *move;
char *sub_pointer_start,*sub_pointer_end;
move=buf;
if((sub_pointer_start=strstr(buf,"<pre>"))==NULL)
{
if((sub_pointer_start=strstr(buf,"<PRE>"))!=NULL)
;
}
if((sub_pointer_end=strstr(buf,"</pre>"))==NULL)
{
if((sub_pointer_end=strstr(buf,"</PRE>"))!=NULL)
;
}
if((sub_pointer_start==NULL)||(sub_pointer_end==NULL))
return 1;
strncpy(rst,sub_pointer_start+5,sub_pointer_end-sub_pointer_start) ;
buf=move;
return 0;
}
void cgi_out(char *error,char *rst)
{
cgiHeaderContentType("text/html");
fprintf(cgiOut,"<HTML><HEAD>\n");
fprintf(cgiOut,"<TITLE>Search Domain Result</TITLE></HEAD>\n");
fprintf(cgiOut,"<body bgcolor=#FFFFF background=/gif/back_3.jpg>\n") ;
fprintf(cgiOut,"<CENTER><FONT color=blue size=5>域名查询结果
</CENTER><BR>");
if(error!="")
fprintf(cgiOut,error);
else
{
fprintf(cgiOut,"<pre>");
fprintf(cgiOut,rst);
fprintf(cgiOut,"</pre>");
}
fprintf(cgiOut,"<FORM>
<CENTER><INPUT onclick=history.back() type=button va lue=
\" 返回 \"></CENTER>
</FORM>");
fprintf(cgiOut,"\n</BODY></HTML>");
}
-- 太太平平,不是我活着的目标;不温不火,不是我的性格。是云就该下雨,是火就该发光。
那罐星砂送給你
╭╯ ╰╮╭╯╰╮ 願你心想事成
║▃▃▃║║☆★║ 這罐海水留給我
║███║║☆★║ 裝滿我的思念
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.104.36.228]
|
|