Please read my blog's comment policy here.
Read more about How Windows detects a Captive Network Portal.
Applications which want to make use of this information can use the Network List Manager API. There's a get_IsConnectedToInternet method on the INetwork interface and the captive portal flag can be found by looking at the VT_UINTs named NA_InternetConnectivityV4 and NA_InternetConnectivityV6 in the INetwork's property bag. If the flag NLM_INTERNET_CONNECTIVITY_WEBHIJACK is set, then a captive portal was detected.
Interesting; Apple does this too, obviously.
Any thoughts about the Captive Portals I-D?
Obviously, if you guys start supporting that status code, it'll encourage adoption by portals, but it sounds like it may not be necessary if every browser is going to take this approach, eventually.
Eric, I'm trying to use the Windows API Pack to detect the presence of a captive portal, I don't believe the interface is completelt implemented to allow me to do that, I have little experience in wrapping these interfaces into managed code, any pointers?
@JasonS: Have you looked at PInvoke.NET? If you can't find it there, email me.