By reading the API, it appears that http_build_str() does not URL encode the parameters, while http_build_query() does. http_build_str() also can take either an object OR an object as its primary argument, while http_build_query() only takes an array.