Мit*_*tke 2 java http clojure http-status-code-403 enlive
我正在尝试使用enlive的html-resource函数来抓取网页的内容,但我得到了响应403,因为我不是来自浏览器.我想这可以在Java中覆盖(在这里找到答案),但我会喜欢看一种处理这个问题的clojure方法.也许这可以通过为html-resource函数提供参数来实现,但我没有遇到过如何以及需要作为参数传递的示例.任何建议将不胜感激.
谢谢.
Enlive html-resource没有提供覆盖默认请求属性的方法.您可以像找到的其他答案一样,自己打开连接并将结果传递InputStream给html-resource.
像下面这样的东西会处理它:
(with-open [inputstream (-> (java.net.URL. "http://www.example.com/")
.openConnection
(doto (.setRequestProperty "User-Agent"
"Mozilla/5.0 ..."))
.getContent)]
(html-resource inputstream))
Run Code Online (Sandbox Code Playgroud)
虽然,它可能看起来更好地分成它自己的功能.
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |