2014-03-01 87 views
2

我试图使用cUrl来获取网页的包含;但我失败了,因为我的请求被自动重定向到登录页面;使用-u参数不能解决我的问题。如何通过cUrl登录?

接下来的登录页面的HTML上市:

<ul class="form-list"> 
     <li> 
      <label for="inputEmailLogin">E-mail</label> 
     <abbr class="req">*</abbr> 
      <div class="form-control"> 
      <input autofocus="autofocus" id="inputEmailLogin" name="user[email]" size="30" type="email" value=""> 
      </div> 
     </li> 

     <li> 
      <label for="inputPasswordLogin">Password</label> 
     <abbr class="req">*</abbr> 
      <div class="form-control"> 
      <input id="inputPasswordLogin" name="user[password]" size="30" type="password"> 
      </div> 
     </li> 
    </ul> 

我如何提供我的凭据,所以我可以得到包含页面的?

回答

1

大多数网站使用基于cookie的身份验证,所以当curl重定向到登录页面时,您可以发布(或获取)用户名(用户[email]在您的案例中)和密码到相应的url并保存cookie成功。然后this将帮助您获取网页。

+1

有些站点只接受HTTP头中正常User-Agent/Referer的请求,因此您可能需要找出curl重定向原因(认证/ User-Agent/Referer)。 – defool