使用Paw

时间:2016-06-21 14:00:36

标签: paw-app

我是新手,但我认为Paw可以做我需要的事情:

我需要在登录页面后面提取会话ID。 我转到https://admin.booking.com,填写表单(登录并通过),后面的登录页面包含会话ID: https://admin.booking.com/pc/index.html?的 SES = xxxxyyyyyzzzzz11112222233333

我想:

1)使用Paw推送凭证作为我的请求的一部分,

2)获取上面的项目(ses)作为响应,这样我就可以使用Paw提供的php脚本扩展,然后“按需”调用这个脚本。

这可能吗?如果是这样,我该怎么办?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

更新*:我们添加了一篇文档文章来更详细地描述该过程:Login via a web form in Paw。我们也详细介绍了处理CSRF令牌的流程。

Paw尚未准备好处理网页/ HTML表单。但是,有一种方法可以正确的方式:如果您使用Chrome开发工具检查表单,您将找到DOM / HTML输入的name

Find HTML input to use in a Paw form

在您的情况下,您有输入:loginnamepasswordlang。 另外,找到<form…>标记以查看action属性的内容。如果没有action属性(如您的示例所示),则表示您的表单的目标网址是当前网页的网址(在您的情况下为https://admin.booking.com/)。另外,请确保method="POST"标记中也存在<form…>,否则此方法无法正常工作。

然后跳进Paw并设置:

  • 网址(在您的情况下为https://admin.booking.com/
  • POST方法
  • 转到正文标签,然后使用&#34;表单网址编码+填写表单中的字段

Simulate an HTML form in Paw

如果一切顺利,您将看到Paw显示重定向请求,如果您转到&#34;右下方面板,则响应&#34; &GT; &#34;标题&#34;,您应该会看到一个Location标题,其值与您最初提到的网址(https://admin.booking.com/pc/index.html?ses=xxxxyyyyyzzzzz11112222233333)类似。欢呼!你把自己的价值变成了Paw!

现在您已经拥有了这个,您可以在新请求中创建(单击左侧列表底部的+按钮)。无论您希望在何处使用此会话令牌/ ID,都可以插入动态值来检索该URL值。你有更多的信息here, in our docs,但我会在这里描述一些步骤:

在要插入令牌的任何字段上,右键单击并选择“响应”&gt;响应标题。

Insert a response header Dynamic Value in Paw

确保在&#34;请求&#34;中选择第一个请求。下拉菜单,然后在&#34;标题&#34;中输入Location字段:

Use a header dynamic value for a redirection-based login in Paw

您应该会在此处看到上一个响应的Location标题的值。

现在你想要做的只是提取你想要的部分(即你的ses param的值)。为此,您需要Paw的扩展名,所以请立即安装:https://luckymarmot.com/paw/extensions/RegExMatch

复制刚刚插入的动态值(蓝色标记),右键单击该字段以插入新的动态值,然后选择Extensions&gt; RegExp匹配:

Pick a RegExp match dynamic value in Paw to extract a field from a previous response

在“输入”字段中,粘贴您复制的上一个动态值。并使用RegExp字段编写一个正则表达式,该表达式将成功提取所需的URL部分(这应该适用于您的ses=(.*)}。

Extract a field from the header of a previous response in Paw

现在您已经设置好了。你应该能够在任何你喜欢的地方使用这个小的新蓝色标记,并自动从前一个表单中提取值。每当您再次发送初始请求并获得新令牌时,其他所有内容也将更新! :)

这是一个很长的指南,但我希望这对你有所帮助,也希望有其他人。