gpt4 book ai didi

c - 通过 c/libcurl 使用有效密码访问受密码保护的新闻网站

转载 作者:行者123 更新时间:2023-11-30 18:00:13 25 4
gpt4 key购买 nike

我使用 libcurl 用 C 语言编写了一个网站爬虫,如果我们愿意,它可以从任何网站抓取文本内容。

但是,我们需要的是能够抓取受密码保护的网站,例如具有有效订阅的大型新闻出版商。所以我们有这些网站的用户名/密码。

任何人都可以提供使用 libcurl 实现此目的的建议吗?我知道您可以将用户名/密码添加到 libcurl 选项中。我认为这样做,并且简单地访问可能受密码保护的正确页面,就足够了。以下是 CURL 代码的摘录:

curl_easy_setopt(curlTestHandle, CURLOPT_URL, "mypasswordprotectedwebsiteurl");
curl_easy_setopt(curlTestHandle, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(curlTestHandle, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curlTestHandle, CURLOPT_MAXREDIRS, 5);

curl_easy_setopt(curlTestHandle, CURLOPT_USERPWD, "myusername:mypassword");

res = curl_easy_perform(curlTestHandle);
curl_easy_getinfo (curlTestHandle, CURLINFO_RESPONSE_CODE, &httpResponse);

但是,也许我过于简化了?也许它可能适用于某些网站,但不适用于其他网站?有人做过并取得类似的成就吗?

谢谢

马诺杰

最佳答案

这要看情况。如果网站在登录表单中为隐藏字段生成不同的数字,那么您必须解析(或简单搜索)HTML 文件以将隐藏字段附加到请求中。否则,您可以在代码中硬编码该值。

这还取决于您想要抓取多少个不同的网站。如果有许多不同的网站,那么最好的办法是解析 HTML(或以某种方式通过字符串搜索读取表单)并获取登录时要填写的字段。

您还必须读取并设置 cookie。我认为 libcurl 应该有函数可以轻松处理这个问题。

---我很困,我可能在跑题。如果这篇文章没有任何帮助,请告诉我将其删除。

关于c - 通过 c/libcurl 使用有效密码访问受密码保护的新闻网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10699813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com