我目前正在开发一个简单的 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;
}
如果有人对此库有任何经验,我们将不胜感激!谢谢!