wummel / linkchecker

check links in web documents or full websites
http://wummel.github.io/linkchecker/
GNU General Public License v2.0
1.42k stars 234 forks source link

Does not authenticate against IS aproxy #293

Open wummel opened 11 years ago

wummel commented 11 years ago

Converted from SourceForge issue 3345882, submitted by None

Linkchecker picks up the proxy server settings from IE (and via set http_proxy=) and prints it correctly whenrunning but does not authenticate against the ISA server, even though in IE and env var state the user and password.

I can send a trace file on request.

wummel commented 11 years ago

Submitted by None

forgot to mention that the proxy requires NTLM

wummel commented 11 years ago

Submitted by calvin

Yeah, NTLM authentication is a major pain. Please send a trace file and hopefully I can whip up some kind of support for this. I'm making no promises though.

fwfr commented 11 years ago

Hello, I find a need for NTLM auth. to be available. If you can point me to a how-to for creating a trace file, I would certainly assist.

wummel commented 10 years ago

Since linkchecker uses Python requests now you might want to look at https://github.com/requests/requests-ntlm and see if you can get it running in linkcheck/checker/httpurl.py:HttpUrl.send_request()

Jinggit commented 6 years ago

To solve NTLM authentication, the following working for me.

site-packages\linkcheck\director\aggregator.py

... from requests_ntlm import HttpNtlmAuth ... def new_request_session(config, cookies): """Create a new request session.""" session = requests.Session() if config["ntlmuser"] and config["ntlmpassword"]: session.auth = HttpNtlmAuth(config["ntlmuser"],config["ntlmpassword"])

site-packages\linkcheck\configuration\confparse.py

def read_authentication_config (self): ... self.read_string_option(section, "ntlmuser") self.read_string_option(section, "ntlmpassword")

.linkchecker\linkcheckerrc ... ##################### password authentication ########################## [authentication] .... ntlmuser=domain\username ntlmpassword=password