例如,我需要解析来 self 的 imdb.com 帐户的数据。所以,任务是获取当前记录的页面。我从浏览器中获取了“id”cookie。并发出GET请求,但不起作用。
(ns imdb.core
(:require [clj-http.client :as client])
(def ^:dynamic *base-url* "http://www.imdb.com/")
(def id {"id" {:value "my_value"
:domain "imdb.com"
:secure true
:max-age 3600}})
(defn get-my-page []
(client/get *base-url* {:cookies id}))
我想我需要将我的 id cookie 设置为 clj-http.cookies/cookie-store。但如何呢?
最佳答案
clj-http
提供clj-http.cookies
您需要使用的命名空间。
You can setup your cookie store ,然后调用clj-http.cookies/add-cookie
从浏览器中提取您的 cookie,最后 clj-http.client/get
设置:cookie-store
.
另一方面,您可能只是按照文档中的描述跨多个 HTTP 调用维护 cookie,然后从 clj-http
调用登录页面。直接地。它将使您的逻辑可重复,无需手动步骤(例如从浏览器复制 cookie)。
关于authentication - 如何在clj-http中设置cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39077568/