如何使目录在服务器上充当root?

时间:2013-11-22 06:49:06

标签: c++ linux http document-root

我正在编写一个服务器,在GET请求中将其目录内容输出到客户端。

如何实现参数argv [2]为所有客户端指定根目录,以便当客户端请求"GET /""GET /file"时,服务器会将其视为根目录?

例如:

./TCPserver 5000 /home/user

然后是客户端:

./TCPclient localhost 5000 "GET /"

./TCPclient localhost 5000 "GET /(fileinHome)"

这是我所拥有的,但显然这并不包括客户端尝试访问伪根目录中的文件的情况

        if (strcmp(real_path, "/")) 
            {
                DIR *dirp = opendir(argv2);
                if (dirp == 0) 
                {   //dup sock into stderr
                close(2);
                dup(clientSocket);
                perror(real_path);
                exit(EXIT_FAILURE);
                }
            struct dirent *dirEntry;
            while ((dirEntry = readdir(dirp)) != NULL) 
            {
            if (dirEntry->d_name[0] != '.')
            {
                strcpy(buffer, dirEntry->d_name);
            }
            } //end while

            closedir(dirp);

            } //end if
        }

0 个答案:

没有答案