I had this problem, with the public WiFi at the hospital for special surgery in Manhattan, on my Android phone, a Samsung galaxy note 4.
I fixed it, after reading through a few forum threads, by finding out the IP address of the router and a device logged into the network (from a friend whose phone was working fine with the Wifi) and then checking "static" under the advanced network options in the Wifi settings. I entered the address of the router under "gateway" and an address similar to the device address of my friend's phone, but one digit greater (in the last set of digits, like if his was 192.168.1.147, I made mine 192.168.1.148). Then I connected and it worked fine.
The problem appears to be with the DHCP client in the phone's Android OS - which is the latest version Verizon has given us ( 6.0.1) ... and no, checking "use legacy DHCP client" in developer settings did not fix it.