Error reaching public extensions directory
In this situation, some possibilities to evaluate:


There is a problem on civicrm.org, but it only occurs on a subpage. For example, in v4.7.x (and maybe 4.6.x), it fetches the subpage /single (e.g. https://civicrm.org/extdir/ver=4.7.9|cms=Drupal/single).
There was a problem on civicrm.org and the failure got somehow cached. You could wait a while and try again -- or clear the caches. (Maybe use the "Support => Developer => API Explorer" to run Extension.refresh or System.flush.)
Something in the web server environment is preventing it from making the request, e.g.


A security system (such as a firewall, suhosin, or php ini setting) interferes with outgoing requests.
The curl/http layer has a broken HTTP/SSL configuration.



In this particular case, I believe there was a change on civicrm.org which prevented it from correctly reading several of the XML files needed for /single, but that issue is now resolved.

(See also: https://issues.civicrm.org/jira/browse/CRM-19090 )