对Drupal 7执行经过身份验证的原始HTTP请求需要什么?

我正在尝试使用PHP或Python(甚至不需要使用大量额外的工作,甚至使用curl在纯Bash中准备一个外部脚本)来成功对Drupal页面执行经过身份验证的HTTP请求只有经过身份验证的用户才能访问。

要知道这样的原始HTTP请求应该是什么样子,我首先尝试使用Postman执行这样的原始HTTP请求。

我已设置:

  • 请求方法为GET
  • 正确的URL地址
  • 所有标头与浏览器中的标头相同(我以 admin 登录时使用开发人员工具复制标头),包括包含当前会话的当前cookie键及其值

在浏览器中,我的状态为200,并且页面显示正确,但是在邮递员中,不幸的是,我的状态为403禁止访问

我应该怎么做才能使该HTTP请求像在浏览器中一样正常工作?

zqp19880915 回答:对Drupal 7执行经过身份验证的原始HTTP请求需要什么?

基本上,您将需要执行2个查询以使其像在浏览器中一样工作:

  • GET /user/login来解析文档并获取用户登录form_build_id,例如。

    <input type="hidden" name="form_build_id" value="form-IJkfUfaubS...OsWXBsw">
    
  • POST /user/login,至少具有此标头Content-Type: application/x-www-form-urlencoded和以下表单数据:

    • form_build_id : <form_build_id>
    • name : <username>
    • pass : <password>
    • form_id : user-login

一旦通过身份验证,您将获得一个会话cookie(请参阅Postman中的“ Cookies”按钮),在下一个请求中使用此cookie,您应该可以获取私有内容。

本文链接:https://www.f2er.com/3144866.html

大家都在问