屏幕刮痧

时间:2009-01-20 10:53:48

标签: curl

现在我学习了cURL,我面临一个难以直接通过用户名和密码登录页面

3 个答案:

答案 0 :(得分:1)

对于标准HTTP身份验证,您可以尝试:

curl http://username:password@url 

它应该有用!

答案 1 :(得分:1)

您需要使用的方法将取决于网页的用户名/密码检查的具体方式,但这可能会对您有所帮助:
http://curl.haxx.se/mail/archive-2008-05/0113.html

答案 2 :(得分:0)

我假设您要获取隐藏在登录页面后面的页面,并且此页面不受CAPTCHA保护。要做到这一点,你必须

  1. 将带有登录表单数据的POST请求发送到登录表单的提交URL(请参阅HTML源代码)
  2. 保存cookies
  3. 发送这些cookie以及所有后续请求(必要时更新)
  4. 我是用wget做的。 curl应该类似(参见其手册)。

    1,2:

    wget --keep-session-cookies --save-cookies "mycookies" \
         --post-data "login=mylogin&password=mypass" submit_URL
    

    3:

    wget --load-cookies "mycookies" --keep-session-cookies --save-cookies "mycookies" \
         another_URL_behind_login_form
    

    从我在man curl中看到的情况来看,1-2应该是这样的(未经测试):

    curl -F "login=mylogin;password=mypass" -c "mycookies" submit_URL
    

    和3:

    curl -b "mycookies" -c "mycookies" another_URL
    

    但我没有尝试使用curl