我有一个包含很长网址列表的文件。我想使用Google Refine来获取每个网址打开时显示的HTTP状态代码。 URL存储在1列中,每1个单元格1个URL。 HTTP状态代码应存储在新列中。 Google Refine提供3种语言:Clojure,Jython和GREL。我是编程方面的新手。
答案 0 :(得分:2)
在Clojure中获取响应代码,您可以建立连接,然后检查响应代码。这是一个仅使用内置java.net类的示例,因此您不必包含任何库(我不知道使用此程序有多容易)
hello.core> (.. (java.net.URL. "http://google.com/index.html")
openConnection
getResponseCode)
200
对于clojure应用程序来说,使用诸如http-kit之类的http库来更干净地执行此操作会更为正常。因此,如果您可以轻松地包含库,我将采用该路由并保存几行代码。
PS:您可能还想在
之后关闭连接hello.core> (let [connection (.openConnection (java.net.URL. "http://google.com/index.html"))
response (.getResponseCode connection)]
(.. connection ;; yep, java's strange
getInputStream ;; closing the input stream closes it's conneection
close) ;; so most people use http-kit
response)