libcurl 如何在 URL 重定向到自身时停止重定向
libcurl how to stop redirecting when an url redirect to itself
我使用libcurl获取网页的源代码,一切都很好,直到获得"www.macys.com"的源代码。
如果没有CURLOPT_FOLLOWLOCATION选项,我的程序将一无所获,但是使用此选项时,重定向位置始终为"/",除非我设置CURLOPT_MAXREDIRS选项,否则curl_easy_perform函数将不会返回。
我的问题是如何使用 libcurl 获取此网页的源代码?多谢。
我的库库尔版本:7.23.1,操作系统:CentOS 6.0(最终版)x64
如果服务器不断重定向客户端,并且您要求客户端遵循重定向,那么您期望它做什么?
唯一的选择是在一定数量的步骤后停止,这就是CURLOPT_MAXREDIRS的用途。
发生这样的事情的原因主要是因为该网站正在检查您的 curl 使用不提供的客户端特定详细信息(用户代理、cookie、引用或类似)。您通常可以使 curl 请求与浏览器的请求更相似,然后避免这种影响。
要么禁用CURLOPT_FOLLOWLOCATION并手动跟踪重定向以确保不会发生循环,要么将CURLOPT_MAXREDIRS设置为只能通过自我重定向到达的疯狂数字 (10)。
相关文章:
- 如何将stdout重定向到stderr
- 编写时C++中的输入重定向问题
- 获取通过重定向传入的输入文件的名称?
- Windows C++重定向库
- 写入文件 a.txt,而终端重定向到文件 b.txt
- 使用 dup2() 进行输入重定向
- 将 clangd stderr 重定向到文件而不是控制台
- 如何在C++中获取重定向网页的URL
- 将标准输出重定向到ostream
- 如何撤消此代码上的 cin 重定向?
- 使用重定向标准处理子进程中的 kbhit
- 是否可以将子进程的 stdout 重定向到父进程中的另一个文件?
- 重定向输入和输出时如何处理主文件I/O?
- 如何将HTTPS流量重定向到本地主机:443上的代理?
- 使用重定向命令从 stdin 读入的字符串"<"输入文件未正确附加
- 如何在MFC中检测到URL重定向
- 在C++中使用 Curl 7.47.1 重定向 url
- WinInet - 如何在 301 重定向后获取服务器 URL
- libcurl 如何在 URL 重定向到自身时停止重定向
- 在fastCGI中重定向url时合并消息体