2013-04-08 44 views
1

A有一个应用程序,它从静态url分析xml。直到最近,他们更新了对URL的访问权限之后,应用程序才开始工作。现在需要输入一个NT用户名/密码。clojure中的HTTPS身份验证

我很努力做到这一点,因为我不能安装除提供的库之外的其他库,其中一个库不是clj-http。在clojure中有没有其他解决方法?我将如何使用java.org.apachehttpclient作为例子?

(ns Summary 
(:import [java.net URL]) 
(:use [clojure.java.io :only [input-stream]]) 
(:require [clojure.xml :as xml]) 
(:require [clojure.zip :as zip]) 
(:require [clojure.contrib.zip-filter.xml :as zf])) 



(defn get-field [element child] 
(zf/xml1-> element child zf/text)) 

(defn parse-record [rec-xml] 
(into {} 
    (map 
     #(vector % (get-field rec-xml %)) 
     [:sys_id :sys_updated ]))) 


(defn get-records [xml] 
(map 
    parse-record 
    (zf/xml-> (zip/xml-zip xml) 
       :Record         
      ))) 
(def viewDoc 
(with-open [is (input-stream  (URL. "https://www.test.com" "Domain/username" "password"))] 
    (let [recs (doall (get-records (xml/parse is)))] 


) 
)) 
+0

“现在需要输入NT用户名/密码” - 您是在谈论基本身份验证,还是? – mac 2013-04-09 09:47:59

+0

不,这是NTLM认证,windows - 域名/用户名和密码 – redhands 2013-04-09 13:04:29

回答

0

This应该让你去。应该很容易转换为Clojure。