【问题标题】:sending session cookie with each subsequent HTTP request in MATLAB在 MATLAB 中随每个后续 HTTP 请求发送会话 cookie
【发布时间】:2016-10-20 17:33:59
【问题描述】:

我正在尝试使用 MATLAB 与 RESTFul API 进行通信。 API 使用会话 cookie 来记住用户。我的MATALB是2015b,据我所知不支持新的HTTP Interface

我的问题是在 MATLAB 中使用 webreadwebwrite 函数时,会话 cookie 不会附加到请求中,因此每次服务器都会生成一个新会话。

我尝试使用urlread2 读取会话cookie 并生成一个具有相同内容的新cookie,以发送回服务器,但会话cookie 是HTTPOnly,因此我生成的cookie 对服务器无效。

任何人都可以帮助我提出想法或解决方案吗? MATLAB 2016b 会自动转发会话 cookie(使用 HTTP 接口)吗?

【问题讨论】:

    标签: matlab session cookies


    【解决方案1】:

    我找到了解决这个问题的方法:

    第一个问题是在 MATLAB 中获取 cookie 信息。早于 2016b 的版本可能无法做到,所以我不得不使用它:

    [output,extras] = urlread2('http://www.example.com/','GET');
    cookie = extras.firstHeaders.Set_Cookie;  % make sure to get the content of the right session cookie
    

    现在我们有了cookie,让我们把它添加到|weboptions|像这样:

    opts = weboptions('KeyName','Cookie','KeyValue',cookie); 
    

    现在只要你每次使用 |webread|或 |webwrite| , 附上 |opts|给它:

    response = webread('http://www.example.com/',opts);
    

    但是使用这种方法,很容易对使用 HTTPOnly cookie 进行会话管理的网站进行 XSS 攻击!与所有 Web 浏览器不同,matlab 允许您编辑或创建 HTTPOnly cookie! more info here

    【讨论】:

      猜你喜欢
      • 2021-10-20
      • 2015-02-11
      • 1970-01-01
      • 2020-08-29
      • 2013-06-08
      • 1970-01-01
      • 2018-05-19
      • 2017-01-02
      • 2021-10-24
      相关资源
      最近更新 更多