diff --git a/metrics/metrics.gyp b/metrics/metrics.gyp
index 7a4338b..d8f697c 100644
--- a/metrics/metrics.gyp
+++ b/metrics/metrics.gyp
@@ -12,7 +12,6 @@
         'gthread-2.0',
         'libchrome-<(libbase_ver)',
         'libchromeos-<(libbase_ver)',
-        'libcurl',
       ]
     },
     'cflags_cc': [
@@ -83,7 +82,7 @@
         'uploader/upload_service.cc',
         'uploader/metrics_log.cc',
         'uploader/system_profile_cache.cc',
-        'uploader/curl_sender.cc',
+        'uploader/sender_http.cc',
         'components/metrics/metrics_log_base.cc',
         'components/metrics/metrics_log_manager.cc',
         'components/metrics/metrics_hashes.cc',
diff --git a/metrics/uploader/curl_sender.cc b/metrics/uploader/curl_sender.cc
deleted file mode 100644
index 5049ef4..0000000
--- a/metrics/uploader/curl_sender.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// Copyright 2014 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "uploader/curl_sender.h"
-
-#include <curl/curl.h>
-#include <string>
-
-#include "base/logging.h"
-#include "base/strings/string_number_conversions.h"
-
-CurlSender::CurlSender(const std::string server_url)
-    : server_url_(server_url) {}
-
-bool CurlSender::Send(const std::string& content,
-                      const std::string& content_hash) {
-  CURL* postrequest = curl_easy_init();
-
-  if (!postrequest) {
-    DLOG(ERROR) << "Error creating the post request";
-    return false;
-  }
-
-  curl_easy_setopt(postrequest, CURLOPT_URL, server_url_.c_str());
-  curl_easy_setopt(postrequest, CURLOPT_POST, 1);
-
-  const std::string hash =
-      base::HexEncode(content_hash.data(), content_hash.size());
-
-  curl_slist* headers =
-      curl_slist_append(nullptr, ("X-Chrome-UMA-Log-SHA1: " + hash).c_str());
-  if (!headers) {
-    DLOG(ERROR) << "failed setting the headers";
-    curl_easy_cleanup(postrequest);
-    return false;
-  }
-
-  std::string output;
-
-  curl_easy_setopt(postrequest, CURLOPT_HTTPHEADER, headers);
-  curl_easy_setopt(postrequest, CURLOPT_POSTFIELDSIZE, content.size());
-  curl_easy_setopt(postrequest, CURLOPT_POSTFIELDS, content.c_str());
-
-  // Set the callback function used to read the response and the destination.
-  curl_easy_setopt(postrequest, CURLOPT_WRITEFUNCTION, ReadData);
-  curl_easy_setopt(postrequest, CURLOPT_WRITEDATA, &output);
-
-  CURLcode result = curl_easy_perform(postrequest);
-
-  if (result == CURLE_OK && output == "OK") {
-    curl_easy_cleanup(postrequest);
-    return true;
-  }
-
-  curl_easy_cleanup(postrequest);
-
-  return false;
-}
-
-// static
-size_t CurlSender::ReadData(void* buffer, size_t size, size_t nmember,
-                            std::string* out) {
-  CHECK(out);
-
-  // This function might be called several time so we want to append the data at
-  // the end of the string.
-  *out += std::string(static_cast<char*>(buffer), size * nmember);
-  return size * nmember;
-}
diff --git a/metrics/uploader/curl_sender.h b/metrics/uploader/curl_sender.h
deleted file mode 100644
index b7e9585..0000000
--- a/metrics/uploader/curl_sender.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2014 The Chromium OS Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef METRICS_UPLOADER_CURL_SENDER_H_
-#define METRICS_UPLOADER_CURL_SENDER_H_
-
-#include <string>
-
-#include "base/compiler_specific.h"
-#include "uploader/sender.h"
-
-// Sender implemented using libcurl
-class CurlSender : public Sender {
- public:
-  explicit CurlSender(std::string server_url);
-  virtual ~CurlSender() {}
-  // Sends |content| whose SHA1 hash is |hash| to server_url with a synchronous
-  // POST request to server_url.
-  bool Send(const std::string& content, const std::string& hash) override;
-
-  // Static callback required by curl to retrieve the response data.
-  //
-  // Copies |size| * |nmember| bytes of data from |buffer| to |out|.
-  // Returns the number of bytes copied.
-  static size_t ReadData(void* buffer, size_t size, size_t nmember,
-                         std::string* out);
-
- private:
-  const std::string server_url_;
-};
-
-#endif  // METRICS_UPLOADER_CURL_SENDER_H_
diff --git a/metrics/uploader/sender_http.cc b/metrics/uploader/sender_http.cc
new file mode 100644
index 0000000..585287f
--- /dev/null
+++ b/metrics/uploader/sender_http.cc
@@ -0,0 +1,36 @@
+// Copyright 2014 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "metrics/uploader/sender_http.h"
+
+#include <string>
+
+#include <base/logging.h>
+#include <base/strings/string_number_conversions.h>
+#include <chromeos/http/http_utils.h>
+#include <chromeos/mime_utils.h>
+
+HttpSender::HttpSender(const std::string server_url)
+    : server_url_(server_url) {}
+
+bool HttpSender::Send(const std::string& content,
+                      const std::string& content_hash) {
+  const std::string hash =
+      base::HexEncode(content_hash.data(), content_hash.size());
+
+  chromeos::http::HeaderList headers = {{"X-Chrome-UMA-Log-SHA1", hash}};
+  chromeos::ErrorPtr error;
+  auto response = chromeos::http::PostText(
+      server_url_,
+      content.c_str(),
+      chromeos::mime::application::kWwwFormUrlEncoded,
+      headers,
+      chromeos::http::Transport::CreateDefault(),
+      &error);
+  if (!response || response->GetDataAsString() != "OK") {
+    DLOG(ERROR) << "Failed to send data: " << error->GetMessage();
+    return false;
+  }
+  return true;
+}
diff --git a/metrics/uploader/sender_http.h b/metrics/uploader/sender_http.h
new file mode 100644
index 0000000..4880b28
--- /dev/null
+++ b/metrics/uploader/sender_http.h
@@ -0,0 +1,29 @@
+// Copyright 2014 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef METRICS_UPLOADER_SENDER_HTTP_H_
+#define METRICS_UPLOADER_SENDER_HTTP_H_
+
+#include <string>
+
+#include <base/macros.h>
+
+#include "metrics/uploader/sender.h"
+
+// Sender implemented using http_utils from libchromeos
+class HttpSender : public Sender {
+ public:
+  explicit HttpSender(std::string server_url);
+  ~HttpSender() override = default;
+  // Sends |content| whose SHA1 hash is |hash| to server_url with a synchronous
+  // POST request to server_url.
+  bool Send(const std::string& content, const std::string& hash) override;
+
+ private:
+  const std::string server_url_;
+
+  DISALLOW_COPY_AND_ASSIGN(HttpSender);
+};
+
+#endif  // METRICS_UPLOADER_SENDER_HTTP_H_
diff --git a/metrics/uploader/upload_service.cc b/metrics/uploader/upload_service.cc
index 8b8e351..8094fec 100644
--- a/metrics/uploader/upload_service.cc
+++ b/metrics/uploader/upload_service.cc
@@ -2,26 +2,26 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "uploader/upload_service.h"
+#include "metrics/uploader/upload_service.h"
 
-#include <curl/curl.h>
 #include <glib.h>
 #include <string>
 
-#include "base/logging.h"
-#include "base/memory/scoped_vector.h"
-#include "base/metrics/histogram.h"
-#include "base/metrics/histogram_base.h"
-#include "base/metrics/histogram_snapshot_manager.h"
-#include "base/metrics/sparse_histogram.h"
-#include "base/metrics/statistics_recorder.h"
-#include "base/sha1.h"
-#include "components/metrics/chromeos/metric_sample.h"
-#include "components/metrics/chromeos/serialization_utils.h"
-#include "gflags/gflags.h"
-#include "uploader/curl_sender.h"
-#include "uploader/metrics_log.h"
-#include "uploader/system_profile_cache.h"
+#include <base/logging.h>
+#include <base/memory/scoped_vector.h>
+#include <base/metrics/histogram.h>
+#include <base/metrics/histogram_base.h>
+#include <base/metrics/histogram_snapshot_manager.h>
+#include <base/metrics/sparse_histogram.h>
+#include <base/metrics/statistics_recorder.h>
+#include <base/sha1.h>
+#include <components/metrics/chromeos/metric_sample.h>
+#include <components/metrics/chromeos/serialization_utils.h>
+#include <gflags/gflags.h>
+
+#include "metrics/uploader/metrics_log.h"
+#include "metrics/uploader/sender_http.h"
+#include "metrics/uploader/system_profile_cache.h"
 
 DEFINE_int32(
     upload_interval_secs,
@@ -41,7 +41,7 @@
 UploadService::UploadService()
     : system_profile_setter_(new SystemProfileCache()),
       histogram_snapshot_manager_(this),
-      sender_(new CurlSender(FLAGS_server)) {
+      sender_(new HttpSender(FLAGS_server)) {
 }
 
 void UploadService::Init() {
diff --git a/metrics/uploader/upload_service.h b/metrics/uploader/upload_service.h
index d677424..0d17e0e 100644
--- a/metrics/uploader/upload_service.h
+++ b/metrics/uploader/upload_service.h
@@ -10,9 +10,9 @@
 #include "base/metrics/histogram_base.h"
 #include "base/metrics/histogram_flattener.h"
 #include "base/metrics/histogram_snapshot_manager.h"
-#include "uploader/metrics_log.h"
-#include "uploader/sender.h"
-#include "uploader/system_profile_cache.h"
+#include "metrics/uploader/metrics_log.h"
+#include "metrics/uploader/sender.h"
+#include "metrics/uploader/system_profile_cache.h"
 
 namespace metrics {
 class ChromeUserMetricsExtension;
