gpt4 book ai didi

testing - 将自定义 session 数据添加到 clojure 中的 jsoup POST 请求

转载 作者:行者123 更新时间:2023-11-28 21:37:09 25 4
gpt4 key购买 nike

我正在使用 midjejsoup 测试我的第一个 clojure ring 应用程序。该应用程序使用 ring-session为仅记录页面添加 session。 session 不是 cookie,也不是请求 header 的一部分,我不知道如何添加它以在记录的页面上正确执行发布请求...

jsoup 中的 POST 请求类似于:

(-> (Jsoup/connect "http://localhost:3001/sendto")
(.userAgent "...")
(.header "Content-Type","application/x-www-form-urlencoded")
(.data "amount" amount)
(.data "to" email)
(.data "sendto-submit" "Send")
(.post))

虽然这在尝试针对仅记录的 url 执行请求时不起作用。

我必须添加 session 对象,在我的例子中是这样的:

{:session {:auth {:email "name@email.com"}}}

请求,但到目前为止 (.cookie)(.data) 都不起作用...

欢迎任何帮助 :)

最佳答案

在不知道服务器端配置的情况下,很难给出准确的建议,但您必须记住登录时获得的 cookie 并将其与请求一起发送。

您在服务器上看到的 {:session {:auth ,,,}} 是 session 包装器将服务器端存储的数据加载到请求中的结果。

所以基本上:

  1. 您发送一个请求,启动一个 session (例如您的登录)
  2. 服务器向您发回一个 cookie,并在其 session 存储中存储有关登录的信息
  3. 您发送一个包含该 cookie 的请求
  4. 服务器在 session 存储中查找 cookie,并在请求中注入(inject)与其关联的数据。

参见 the source/doc

关于testing - 将自定义 session 数据添加到 clojure 中的 jsoup POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57150031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com