我想通过“ 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多数民众赞成在使用它的原因。
答案 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)))