Fails to connect when userID contains at-sign. Suggested patch: in connectUrlForParams, pass each [params objectForKey:key] through stringByPercentEncodingWithAllowedCharacters.