When calling http_build_query(), make sure the third argument is "&". Otherwise, your system may default to "&amp;" which means something completely different to the server processing the request (i.e. apple=red&amp;banana=yellow&amp;pear=green).

Does anyone have any info on the speed of drupal_http_request vs. using a cURL call? I am thinking that since drupal_http_request requires a drupal bootstrap it should be a bit slower - but would appreciate any info on this.

In case the example above was not clear, in order to do basic auth using drupal_http_request simply enter the username and password into the url in the format below. Drupal_http_request will extract the username and password, base64 encode them and pass them along in the header appropriately