我正在尝试从需要用户登录的网站定期自动下载内容。我想要下载的内容是一个小的.js文件(<10 kb)。
由于该网站仅在我登录时才会显示所需数据,因此我无法简单地使用 urlwrite 等功能(在MATLAB中)下载数据。
我不确定PHP中的 libcurl 库是否能够轻松解决问题。
正如对这个类似问题(Fetching data from a site requiring POST data?)的答案中所建议的那样,我试图使用Zend_Http_Client,但未能使其工作。
总之,我想帮助自动从需要用户登录的站点下载URL内容(并且可能是提交cookie)。
除此之外,我很欣赏有关哪种软件能够定期自动下载此类数据的建议。
(如果您确实需要我尝试下载的确切网址来测试解决方案,请在下方发表评论。)
答案 0 :(得分:0)
我唯一关心的是登录,而不是一般的cookie。检查此问题的答案:How do I use libcurl to login to a secure website and get at the html behind the login
答案 1 :(得分:0)
这取决于网站使用的登录类型。如果它使用HTTP身份验证,则使用curl选项CURLOPT_HTTPAUTH(请参阅setopt,http://php.net/manual/en/function.curl-setopt.php)否则,如上所述,您使用COOKIEJAR和可能的COOKIEFILE。
另一个选项是独立实用程序wget。常见问题解答包含对登录方法http://wget.addictivecode.org/FrequentlyAskedQuestions#password-protected
的一个很好的解释如果这是你第一次使用curl:不要忘记将CURL_RETURNTRANSFER设置为true(如果false将内容发送到stdout),将CURL_HEADER设置为false以获取没有标题的内容。