drupal_http_request and stream_socket_client The D7 core function drupal_http_request uses the stream_socket_client() php function. For many serious web hosters, sockets and stream_sockets functions are a security bad practice and most of them disable these functions.

Why the D7 developpers don't make drupal_http_request rely on cURL functions ?
Is there any alternative ?
Thanks,
J.
The cURL HTTP Request module was built for exactly that:

This is a module intended for developers, as it provides just one API to call: curl_http_request().
The function curl_http_request() is an alternative implementation of Drupal core function drupal_http_request() using cURL.
The function intends to be backwards compatible with drupal_http_request(), by accepting the same parameters in the same form and by returning the response in the same format.

I can't comment as to the decision the original developers took, but don't forget that cURL isn't necessarily available on every system either.