从需要cookie的站点自动下载URL内容

时间:2012-05-19 11:18:51

标签: php matlab cookies automation download

我正在尝试从需要用户登录的网站定期自动下载内容。我想要下载的内容是一个小的.js文件(<10 kb)。

由于该网站仅在我登录时才会显示所需数据,因此我无法简单地使用 urlwrite 等功能(在MATLAB中)下载数据。

我不确定PHP中的 libcurl 库是否能够轻松解决问题。

正如对这个类似问题(Fetching data from a site requiring POST data?)的答案中所建议的那样,我试图使用Zend_Http_Client,但未能使其工作。

总之,我想帮助自动从需要用户登录的站点下载URL内容(并且可能是提交cookie)。


除此之外,我很欣赏有关哪种软件能够定期自动下载此类数据的建议。

(如果您确实需要我尝试下载的确切网址来测试解决方案,请在下方发表评论。)

2 个答案:

答案 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以获取没有标题的内容。