Azure Logic App:从登录请求提取Set-Cookie并保存为变量
步骤1:发送登录HTTP请求
- 添加「HTTP」动作,配置如下:
- 方法:
POST - URI:
https://website.com/login - 请求体:选择「原始」,格式设为「JSON」,填入以下内容:
{ "emailAddress": "example@contoso.com", "password": "example", "rememberMe": true }
- 方法:
步骤2:提取响应头中的Set-Cookie
直接通过Azure Logic App表达式读取响应头字段,无需依赖响应JSON:
- 单个Cookie场景:使用表达式
outputs('HTTP')['headers']['Set-Cookie'] - 多个Cookie(响应头返回数组)场景:
- 取第一个Cookie:
first(outputs('HTTP')['headers']['Set-Cookie']) - 拼接所有Cookie为标准格式:
join(outputs('HTTP')['headers']['Set-Cookie'], '; ')
- 取第一个Cookie:
步骤3:保存为变量
- 添加「初始化变量」动作:
- 变量名称:比如
SessionCookie - 类型:「字符串」
- 值:填入上述提取Set-Cookie的表达式
- 变量名称:比如
步骤4:后续API请求使用会话Cookie
在后续需要认证的HTTP动作中,添加请求头:
- 头名称:
Cookie - 头值:
@{variables('SessionCookie')}
注意:如果Set-Cookie包含
expires、path等属性,部分服务可能只需要核心键值对,可通过split(outputs('HTTP')['headers']['Set-Cookie'], ';')[0]截取有效部分。
内容的提问来源于stack exchange,提问作者Leonardo van de Weteringh
相关产品推荐
相关产品推荐

