我想编写一个抓取工具,从公司网站中提取只能从公司内部网访问的信息。 我可以从我的笔记本电脑上安装的任何浏览器访问该网站,但当我尝试从任何其他Web客户端(curl,nodejs请求,...)执行此操作时,我得到HTTP401。
我尝试使用与代理和基本身份验证相关的不同设置,但我找不到任何有效的解决方案。
由于我在Windows系统上并且我认为此处可能涉及IE网络设置,我还尝试从IE获取网络代理设置
netsh winhttp import proxy source =ie
,但它没有任何区别。
我错过了什么?如何确定本地浏览器能够访问该网站而不是其他Web客户端的原因?我已经查看了Chrome开发者工具中的请求,但无法找到任何有助于此的内容。
答案 0 :(得分:0)
终于找到了解决方案,我在卷曲中错过了--ntlm标志......
$ curl -s -o /dev/null -w "%{http_code}" -u "${USER}:${PASS}" ${URL}
401
$ curl --ntlm -s -o /dev/null -w "%{http_code}" -u "${USER}:${PASS}" ${URL}
200