像我们在curl中一样,如何在clojure http请求中设置'no proxy'?

时间:2019-01-07 06:27:08

标签: http curl clojure proxy

我想通过“ app.module.ts”在开放式班机内的Clojure中打一个api(获取请求),但它给了我404(找不到资源),尽管我传递了正确的标头(用于开放式班机内的授权) 。相同的请求通过pod终端中带有noproxy的curl命令给出200。请提出建议。

使用no-proxy

下面是Clojure代码,该代码不起作用(给出404):

Clojure API - clj-http.client

下面是Pod终端内的Curl命中功能正常(仅使用noproxy):(defn get-toggles [] (let [options {:headers {:x-jwt-payload "valid-value-passed"}} response (client/get "correct-url" {:proxy-ignore-hosts "*" :proxy-port "*"} options)]))

注意:没有“ curl -i --noproxy "*" "any-correct-url" -H "x-jwt-payload :valid-value"”,我们将得到401多数民众赞成在使用它的原因。

1 个答案:

答案 0 :(得分:0)

查看源代码,似乎无法创建专门不使用任何代理的请求。

我曾经遇到相同的问题,最终使用Jsoup,这是一个用于发出http请求和解析HTML的Java库。我没有使用HTML解析功能,而是向Rest Api发送了请求,但是Jsoup的Api很不错,并且可以从Clojure使用。例如:

(ns something
  (import
   org.jsoup.Jsoup
   java.net.Proxy
   java.lang.Thread))

(defn api-call [url]
  (->
   (Jsoup/connect url)
   (.proxy (Proxy/NO_PROXY))
   (.ignoreContentType true)
   (.get)
   (.body)
   (.text)))