【发布时间】:2017-06-21 05:15:53
【问题描述】:
我想发出一个 http 请求,获取网站内容并检查一个特定元素。目前我正在使用 lcurl (从教程中得到解释)。这是我的代码的摘录:
curl_global_init(CURL_GLOBAL_ALL);
CURL *myHandle;
CURLcode result;
struct BufferStruct output;
output.buffer = NULL;
output.size = 0;
//requested value is on this website
char* url = "https://www.somewebsite.com";
//set curl handle to write the website content into buffer
myHandle = curl_easy_init();
curl_easy_setopt(myHandle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(myHandle, CURLOPT_WRITEDATA, (void*)&output);
curl_easy_setopt(myHandle, CURLOPT_URL, url);
curl_easy_perform( myHandle );
//searching for position of the requested value.
uint8_t* value_position = strstr(output.buffer, "value_description");
//copy the value (8 chars) into a buffer defined earlier
strncpy(value, value_position, 8);
//... clean up etc.
代码有效。但我想知道这是否是最快的方法...... 任何想法如何更快地做到这一点?非常感谢!
【问题讨论】:
-
欢迎来到 StackExchange。但是,您似乎在错误的站点上;有关基本工作代码的改进建议,您可能想去codereview.stackexchange.com。但是,如果您的代码的某个部分存在特定问题,请更详细地解释,这里的人将很乐意提供帮助。您可能想使用tour 并阅读How to Ask。当您这样做时:欢迎来到 StackOverflow,这是针对特定程序问题的问答网站。
-
我投票决定将此问题作为离题结束,因为对于基本工作代码的改进建议,您可能需要访问 codereview.stackexchange.com。
-
@Yunnosch 完美!老师教我!
-
在进行 codereview 之前,请务必阅读以下内容:Eric Lippert's blog: Which is faster?。它不是 100% 针对您的问题,但仍然相关。