如何在邮递员中设置和会话ID

时间:2016-08-05 07:39:39

标签: session post postman

我需要点击一个API服务的帖子请求,该服务需要会话ID以及其帖子请求字段中的其他参数才能获得所需信息。

我正在使用Postman测试此API。

我想知道如何发送'会话ID'在使用Postman时的帖子请求中?

我知道Postman中的预请求脚本,但我不知道如何在post请求中使用该变量。

任何形式的帮助或建议都将受到赞赏。

谢谢!

5 个答案:

答案 0 :(得分:9)

这篇文章有点陈旧,但我仍想回答,其他人正在寻找答案。

首先,您需要查看工具栏中是否启用了intercepter,它距离登录还有一步

如果单击它时未启用,则可以安装扩展程序。我认为Chrome有一款。继续并添加扩展名。

之后你可以回到Postman并启用intercepter

您将能够在邮递员中看到Cookie,此时您可以添加_session_id

我希望这会有所帮助。

谢谢,

答案 1 :(得分:7)

在Postman本地应用中:

  • 打开拦截器。
  • 转到标题
  • 键:Cookie
  • 值:sessionid = omuxrmt33mnetsfirxi2sdsfh4j1c2kv

答案 2 :(得分:1)

登录后对正在工作的站点进行检查

  1. 在您的Chrome /浏览器上,转到应用程序-Cookies。
  2. 复制您的PHPSESSID。
  3. 在邮递员头上密钥:Cookie
  4. 值:PHPSESSID = dsdjshvbjvsdh(您的密钥)

答案 3 :(得分:0)

对于独立的Postman应用程序

您可以在邮递员中使用全局变量。首先在第一个请求的“测试”选项卡中,将会话设置为全局变量:

import tkinter as tk
import tkinter.ttk as ttk


class MySpinbox(tk.Spinbox):
    def __init__(self, master=None, delay=500, **kwargs):
        kwargs.setdefault('repeatdelay', delay)
        kwargs.setdefault('repeatinterval', delay)
        tk.Spinbox.__init__(self, master, **kwargs)
        self.delay = delay  # repeatdelay in ms
        self.bind('<Up>', self._on_increment)
        self.bind('<Down>', self._on_decrement)
        self._increment_lock = False
        self._decrement_lock = False

    def _unlock_increment(self):
        self._increment_lock = False

    def _on_increment(self, event):
        if self._increment_lock:
            return "break"  # stop the increment
        else:
            self._increment_lock = True
            self.after(self.delay, self._unlock_increment)

    def _unlock_decrement(self):
        self._decrement_lock = False

    def _on_decrement(self, event):
        if self._decrement_lock:
            return "break"  # stop the increment
        else:
            self._decrement_lock = True
            self.after(self.delay, self._unlock_decrement)


class MyTtkSpinbox(ttk.Spinbox):
    def __init__(self, master=None, delay=500, **kwargs):
        ttk.Spinbox.__init__(self, master, **kwargs)
        self.delay = delay  # repeatdelay in ms
        self.bind('<<Increment>>', self._on_increment)
        self.bind('<<Decrement>>', self._on_decrement)
        self._increment_lock = False
        self._decrement_lock = False

    def _unlock_increment(self):
        self._increment_lock = False

    def _on_increment(self, event):
        if self._increment_lock:
            return "break"  # stop the increment
        else:
            # generate a virtual event corresponding to when the spinbox
            # is actually incremented
            self.event_generate('<<ActualIncrement>>')
            self._increment_lock = True
            self.after(self.delay, self._unlock_increment)

    def _unlock_decrement(self):
        self._decrement_lock = False

    def _on_decrement(self, event):
        if self._decrement_lock:
            return "break"  # stop the increment
        else:
            # generate a virtual event corresponding to when the spinbox
            # is actually decremented
            self.event_generate('<<ActualDecrement>>')
            self._decrement_lock = True
            self.after(self.delay, self._unlock_decrement)


class App(tk.Tk):
    def __init__(self):
        super().__init__()
        self.rowconfigure(990, weight=1)
        self.columnconfigure(0, weight=1)
        self.title('Timed Events Demo')
        self.geometry('420x200+20+20')

        tk_spn1 = MySpinbox(self, value=0, values=list(range(0, 1000)))
        tk_spn1.grid(row=0, pady=5)

        tk_spn2 = MyTtkSpinbox(self, from_=0, to=1000)
        tk_spn2.grid(row=1, pady=5)

        def test(e):
            print(e)

        tk_spn2.bind('<<ActualIncrement>>', test)


if __name__ == '__main__':
    app = App()
    app.mainloop()

它也可能是“ session_id”(请检查第一个请求的标头),而不是会话。要检查此变量是否已设置,请在执行首次请求后转到齿轮图标,然后单击全局变量。 然后转到第二个请求->标头,然后为密钥添加“ Cookie”,为值添加“ session = {{{session}}”

旁注:注意不要保存框架使用的键,否则它们可能由于某些原因而被删除。

答案 4 :(得分:0)

选择请求 URL 下方的测试部分

if(postman.getResponseHeader("authorization")!==null)
{
    postman.setGlobalVariable("token","Bearer " + postman.getResponseHeader("authorization") );
}

这里你可以使用 SessionId 从 Header 中获取 SessionId 并放入全局变量中。