【发布时间】:2010-01-17 09:35:51
【问题描述】:
我有一个将 http 有效负载写入文件的数据包捕获代码。现在我想从这些转储中提取 URL 信息。 对于每个数据包,有效负载都是这样开始的。
GET /intl/en_com/images/logo_plain.png HTTP/1.1..主机: www.google.co.in..用户代理: Mozilla/5.0
我想提取:
- “GET”和“HTTP/1.1”之间的字符串
- “Host:”和“User-Agent”之间的字符串
如何在 C 中做到这一点?是否有任何内置的字符串函数?还是正则表达式?
【问题讨论】:
-
打几个电话
strstr()可能就足够了。棘手的部分是处理例如 URL 包含“HTTP/1.1”的情况。即使您使用正则表达式库(C 确实存在,但不在标准库中),这个问题也会存在。 -
好的,我会尝试所有这些并回复您,谢谢!
标签: c url string substring packet-capture