0

我目前正在开发一个简单的 HTTP 代理作为一个教育个人项目。我对套接字编程、C 以及对特定库的需求和使用相当陌生。

在阅读了在 C 中解析 HTTP 请求 URL 的不同方法之后,我发现使用解析库,比如uriparser,似乎是最流行和最安全的选择。

不幸的是,我一直在努力让这个库正常工作。

这里下载库后,我解压缩了“tarball”并运行以下命令:

./configure
make
sudo make install

“sudo make install”的输出声称这些库已安装在“/usr/local/lib”中,它们一直是。但是,当我尝试使用 Uriparser 的文档here中所示的 UriUriA obj 时,显然无法识别该对象。

该库是否安装在正确的位置?

我是否遗漏了一些明显的东西,比如不包括这个库的头文件?我在链接的文档中找不到。

相关代码:

(功能现在很简单,主要指向 UriUri 实例化,它仍然会产生未知类型的编译错误。我还没有能够使用 lib)

int parse_req(char * buffer, char * url){
    UriUriA uri;
    char *reqs[] = {"GET ", "CONNECT "};
    int i = 0;

    //Determine Request Types
    while(reqs[i] != NULL){
        int check = strncmp(reqs[i],buffer,strlen(reqs[i]));
        if (check == 0){
            break;
        }
        i++;
    }
    return -1;
}

如果有人对此库有任何经验,我们将不胜感激!谢谢!

4

0 回答 0