4

例如,我需要解析来自我的 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。但是怎么做?

4

1 回答 1

4

clj-http提供clj-http.cookies您需要使用的命名空间。

您可以设置您的 cookie 存储,然后clj-http.cookies/add-cookie使用从浏览器中提取的 cookie 进行调用,最后clj-http.client/get使用设置进行调用:cookie-store

另一方面,您可能只是按照文档中的描述在多个 HTTP 调用中维护 cookie,然后直接调用登录页面clj-http。它将使您的逻辑可重复,而无需从浏览器复制 cookie 等手动步骤。

于 2016-08-22T13:13:25.110 回答