use httpclient with timeout, add status check, mac fd problem?