Recently I have been in a situation where I have had to rely on “externally provided” internet for my MacBook (like you might get at Starbucks, for example). What should happen is that the first web page access should direct the user to “captive.apple.com” and from there to a local page, in order to enter credentials to log in. The problem was that I was never sent to this page – I was just given a browser window saying that I could not access the internet.
I checked many sites (lots of people have this problem), but none of the fixes suggested fixed it for me. I slept on the problem and woke up with something new to try.
I started my laptop and removed my DNS settings (I use 22.214.171.124 and 126.96.36.199 – both Google provided). With those gone, the problem was immediately fixed and I was presented with the login page.
Hopefully this will help someone …