文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>http client connect to cgi program

http client connect to cgi program

时间:2009-06-12  来源:djstava

关连之前的cgi程序,此程序向cgi程序发送"http://192.168.0.179/cgi-bin/getDate"消息,相当于在浏览器里输入http://192.168.0.179/cgi-bin/getDate

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>

#define BUFSIZE 1024
#define DestIp "192.168.0.179"
#define DestPort 80
#define Req "GET http://192.168.0.179/cgi-bin/djstava_edge?rtsp://192.168.0.179/test.ts\r\n HTTP/1.1 Connection: Close\r\n\r\n"
#define ReqLen strlen(Req)

int main(int argc, char *argv[])
{
                ssize_t i;
                int nRequestLen;

                char strResponse[BUFSIZE]={0};
                char strRequest[BUFSIZE]={0};

                int sockfd, numbytes;
                struct sockaddr_in dest_addr;

                if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
                {
                                perror("socket");
                                exit(1);
                }

                dest_addr.sin_family = AF_INET;
                dest_addr.sin_port = htons(DestPort);
                dest_addr.sin_addr.s_addr = inet_addr(DestIp);

                if (connect(sockfd, (struct sockaddr *)&dest_addr,sizeof(struct sockaddr)) == -1)
                {
                                perror("connect");
                                exit(1);
                }

                strncpy(strRequest, Req,ReqLen);
                nRequestLen = ReqLen;
                if (write(sockfd,strRequest,nRequestLen) == -1)
                {
                        perror("write");
                        exit(1);
                }

                while(1)
                {
                                i = read(sockfd,strResponse,BUFSIZE-1);
                                if(0 >= i)
                                {
                                                break;
                                }
                                strResponse[i]='\0';
                                printf("%s\n",strResponse);
                }

                close(sockfd);
}
相关阅读 更多 +
排行榜 更多 +
火柴人狙击高手

火柴人狙击高手

飞行射击 下载
僵尸射击防御汉化版

僵尸射击防御汉化版

飞行射击 下载
士兵生存

士兵生存

飞行射击 下载