我是新手,但我认为Paw可以做我需要的事情:
我需要在登录页面后面提取会话ID。 我转到https://admin.booking.com,填写表单(登录并通过),后面的登录页面包含会话ID: https://admin.booking.com/pc/index.html?的 SES = xxxxyyyyyzzzzz11112222233333
我想:
1)使用Paw推送凭证作为我的请求的一部分,
2)获取上面的项目(ses)作为响应,这样我就可以使用Paw提供的php脚本扩展,然后“按需”调用这个脚本。
这可能吗?如果是这样,我该怎么办?
感谢您的帮助
答案 0 :(得分:2)
更新*:我们添加了一篇文档文章来更详细地描述该过程:Login via a web form in Paw。我们也详细介绍了处理CSRF令牌的流程。
Paw尚未准备好处理网页/ HTML表单。但是,有一种方法可以正确的方式:如果您使用Chrome开发工具检查表单,您将找到DOM / HTML输入的name
:
在您的情况下,您有输入:loginname
,password
,lang
。
另外,找到<form…>
标记以查看action
属性的内容。如果没有action
属性(如您的示例所示),则表示您的表单的目标网址是当前网页的网址(在您的情况下为https://admin.booking.com/
)。另外,请确保method="POST"
标记中也存在<form…>
,否则此方法无法正常工作。
然后跳进Paw并设置:
https://admin.booking.com/
)如果一切顺利,您将看到Paw显示重定向请求,如果您转到&#34;右下方面板,则响应&#34; &GT; &#34;标题&#34;,您应该会看到一个Location
标题,其值与您最初提到的网址(https://admin.booking.com/pc/index.html?ses=xxxxyyyyyzzzzz11112222233333
)类似。欢呼!你把自己的价值变成了Paw!
现在您已经拥有了这个,您可以在新请求中创建(单击左侧列表底部的+按钮)。无论您希望在何处使用此会话令牌/ ID,都可以插入动态值来检索该URL值。你有更多的信息here, in our docs,但我会在这里描述一些步骤:
在要插入令牌的任何字段上,右键单击并选择“响应”&gt;响应标题。
确保在&#34;请求&#34;中选择第一个请求。下拉菜单,然后在&#34;标题&#34;中输入Location
字段:
您应该会在此处看到上一个响应的Location
标题的值。
现在你想要做的只是提取你想要的部分(即你的ses
param的值)。为此,您需要Paw的扩展名,所以请立即安装:https://luckymarmot.com/paw/extensions/RegExMatch
复制刚刚插入的动态值(蓝色标记),右键单击该字段以插入新的动态值,然后选择Extensions&gt; RegExp匹配:
在“输入”字段中,粘贴您复制的上一个动态值。并使用RegExp字段编写一个正则表达式,该表达式将成功提取所需的URL部分(这应该适用于您的ses=(.*)
}。
现在您已经设置好了。你应该能够在任何你喜欢的地方使用这个小的新蓝色标记,并自动从前一个表单中提取值。每当您再次发送初始请求并获得新令牌时,其他所有内容也将更新! :)
这是一个很长的指南,但我希望这对你有所帮助,也希望有其他人。