Windows.Web.Http Ruang nama

Menyediakan API klien HTTP modern untuk aplikasi UWP.

Kelas

HttpBufferContent

Menyediakan konten HTTP yang menggunakan buffer.

HttpClient

Mengirim permintaan HTTP dan menerima respons HTTP dari sumber daya yang diidentifikasi oleh URI. Untuk panduan pemrograman untuk kelas HttpClient , dan contoh kode, lihat topik konseptual HttpClient .

HttpCookie

Menyediakan sekumpulan properti dan metode untuk mengelola cookie HTTP.

HttpCookieCollection

Menyediakan kontainer koleksi untuk instans kelas HttpCookie .

HttpCookieManager

Tambahkan atau hapus HttpCookie atau lihat cookie yang terkait dengan aplikasi.

HttpFormUrlEncodedContent

Menyediakan konten HTTP yang menggunakan data nama/nilai yang dikodekan dengan jenis MIME application/x-www-form-urlencoded .

HttpGetBufferResult

Menggabungkan hasil buffer akhir bersama dengan yang berikut ini: permintaan HTTP asli, respons HTTP yang dihasilkan (jika ada), nilai kesalahan yang diperluas, dan indikasi berhasil.

HttpGetInputStreamResult

Menggabungkan hasil aliran input akhir bersama dengan berikut: permintaan HTTP asli, respons HTTP yang dihasilkan (jika ada), nilai kesalahan yang diperluas, dan indikasi berhasil.

HttpGetStringResult

Menggabungkan hasil string akhir bersama dengan yang berikut ini: permintaan HTTP asli, respons HTTP yang dihasilkan (jika ada), nilai kesalahan yang diperluas, dan indikasi berhasil.

HttpMethod

Mengambil metode HTTP standar seperti GET dan POST dan membuat metode HTTP baru.

HttpMultipartContent

Menyediakan konten HTTP yang menggunakan jenis MIME multipart/*.

HttpMultipartFormDataContent

Menyediakan konten HTTP yang menggunakan jenis MIME multipart/form-data .

HttpRequestMessage

Mewakili pesan permintaan HTTP termasuk header.

HttpRequestResult

Menggabungkan permintaan HTTP asli bersama dengan yang berikut: respons HTTP yang dihasilkan (jika ada), nilai kesalahan yang diperluas, dan indikasi berhasil.

HttpResponseMessage

Mewakili pesan respons HTTP termasuk header, kode status, dan data.

HttpStreamContent

Menyediakan konten HTTP yang menggunakan aliran.

HttpStringContent

Menyediakan konten HTTP yang menggunakan string.

HttpTransportInformation

Menyediakan informasi tentang transportasi yang mendasar yang digunakan oleh koneksi HTTP.

Struct

HttpProgress

Berisi informasi status tentang kemajuan operasi HttpClient .

Antarmuka

IHttpContent

Menyediakan antarmuka dasar untuk isi entitas HTTP dan header konten.

Enum

HttpCompletionOption

Menunjukkan apakah operasi HttpClient asinkron dianggap selesai ketika semua respons dibaca, atau ketika hanya header yang dibaca.

HttpProgressStage

Menunjukkan langkah dalam kemajuan untuk koneksi HTTP.

HttpResponseMessageSource

Menunjukkan sumber data yang diterima di HttpResponseMessage.

HttpStatusCode

Berisi nilai kode status yang ditentukan untuk HTTP dalam respons terhadap permintaan HTTP.

HttpVersion

Mewakili versi protokol HTTP.

Contoh

Kode sampel berikut menunjukkan cara MENDAPATKAN konten dari server HTTP sebagai string.

using System;
using Windows.Foundation;
using Windows.Web.Http;

// Note: the URI constructor will throw an exception
// if the string passed is not a valid URI
var uri = new Uri("http://example.com/datalist.aspx");
var httpClient = new HttpClient();

// Always catch network exceptions for async methods
try 
{
    var result = await httpClient.GetStringAsync(uri);
}
catch (Exception ex)
{
    // Details in ex.Message and ex.HResult.       
}

// Once your app is done using the HttpClient object call dispose to 
// free up system resources (the underlying socket and memory used for the object)
httpclient.Dispose();
#include "winrt/Windows.Foundation.h"
#include "winrt/Windows.Web.Http.h"
using namespace winrt;

Windows::Foundation::IAsyncAction HttpClientExample()
{
    Windows::Foundation::Uri uri{ L"http://www.bing.com" };
    Windows::Web::Http::HttpClient httpClient{};

    // Always catch network exceptions for async methods.
    try
    {
        auto response{ co_await httpClient.GetStringAsync(uri) };
    }
    catch (winrt::hresult_error const& ex)
    {
        // Details in ex.message() and ex.to_abi().
    }

    // The destructor of HttpClient frees system resources
    // (the underlying socket, and memory used for the object).
}
using namespace Windows::Foundation;
using namespace Windows::Web::Http;

// Note: the URI constructor will throw an exception
// if the string passed is not a valid URI
uri = ref new Uri("http://example.com/datalist.aspx");
httpClient = ref new HttpClient();

// Always catch network exceptions for async methods
try 
{
    httpClient->GetStringAsync(uri);
}
catch (Exception ^ ex) 
{
    // Details in ex.Message and ex.HResult.       
}

// In C++/CX, the system resources used by httpClient object are released 
// when the object falls out of scope or by the destructor (delete operator).

Keterangan

Namespace Windows.Web.Http dan namespace Windows.Web.Http.Headers dan Windows.Web.Http.Filters terkait menyediakan antarmuka pemrograman untuk aplikasi UWP yang menargetkan layanan HTTP dan REST. Fitur API HTTP baru ini dirancang agar sesuai dengan HTTP seperti yang didefinisikan dalam RFC 2616 oleh IETF. API HTTP baru menyediakan dukungan yang konsisten di JavaScript, C#, VB.NET, dan C++ untuk pengembang.

API baru ini menggantikan penggunaan tiga API berbeda dengan fitur berbeda yang sebelumnya diperlukan untuk setiap proyeksi bahasa di Windows 8.

Kelas di Windows.Web.Http dan namespace terkait ditargetkan di semua tingkat pengembangan HTTP dan REST:

  • Pengembang HTTP dasar
  • Pengembang pustaka HTTP khusus situs
  • Pengembang HTTP tingkat lanjut

Untuk pengembang HTTP dasar, API baru memiliki antarmuka sederhana untuk menangani tugas yang paling umum dan default yang masuk akal untuk autentikasi yang harus berfungsi di sebagian besar lingkungan. Untuk pengembang pustaka, model objek yang konsisten dan dukungan beberapa bahasa berarti Anda dapat menulis pustaka sekali untuk pengembang dalam semua bahasa. Untuk pengembang HTTP tingkat lanjut, API baru menyertakan serangkaian kemampuan yang kaya.

Namespace Windows.Web.Http dan namespace terkait menyediakan komponen-komponen ini:

Konten pesan HTTP sesuai dengan isi entitas yang ditentukan dalam RFC 2616. Beberapa kelas dan antarmuka di namespace Windows.Web.Http dapat digunakan untuk konten HTTP, termasuk:

  • IHttpContent - Antarmuka dasar bagi pengembang untuk membuat objek konten mereka sendiri. Ini mewakili isi entitas HTTP dan header konten. Antarmuka ini memiliki metode yang mendapatkan dan mengatur data konten aktual. Ini juga menyediakan properti yang mendapatkan dan mengatur header terkait konten.
  • HttpBufferContent - Konten HTTP yang menggunakan buffer.
  • HttpFormUrlEncodedContent - Konten HTTP yang menggunakan tuple nama/nilai yang dikodekan dengan jenis MIME aplikasi/x-www-form-urlencoded .
  • HttpMultipartContent - Konten HTTP yang menggunakan jenis MIME multipart/*.
  • HttpMultipartFormDataContent - Konten HTTP yang menggunakan jenis MIME multipart/form-data yang dikodekan.
  • HttpStreamContent - Konten HTTP yang menggunakan aliran. Tipe konten ini digunakan oleh metode HTTP GET untuk menerima data dan metode HTTP POST untuk mengunggah data.
  • HttpStringContent - Konten HTTP yang menggunakan string.

Kelas di namespace Windows.Web.Http.Headers mewakili header HTTP yang ditentukan dalam RFC 2616. Header HTTP dikaitkan dengan HttpRequestMessage dan HttpResponseMessage sebagai properti yang diambil atau diatur.

Kelas di namespace Windows.Web.Http dapat menggunakan filter berdasarkan kelas di namespace Windows.Web.Http.Filters . Filter menyediakan penangan untuk membantu masalah layanan HTTP umum. Filter dapat dirangkai bersama-sama secara berurutan untuk mengatasi masalah layanan HTTP yang lebih kompleks. Beberapa filter siap pakai disertakan dengan Windows 8.1 untuk membantu pengembang pustaka memperbaiki masalah layanan HTTP umum. Filter ini mencakup handler untuk koneksi jaringan yang dipantau dan coba lagi. Pengembang pustaka dapat menulis filter mereka sendiri untuk masalah khusus situs (misalnya, situs mungkin menggunakan respons 503 (Server Tidak Tersedia) untuk menunjukkan permintaan harus dicoba kembali).

Jika aplikasi yang menggunakan namespace Windows.Web.Http dan namespace Windows.Web.Http.Headers dan Windows.Web.Http.Filters mengunduh data dalam jumlah besar (50 megabyte atau lebih), maka aplikasi harus mengalirkan unduhan tersebut dan tidak menggunakan buffering default. Jika buffering default digunakan, penggunaan memori klien menjadi sangat besar, berpotensi mengakibatkan penurunan performa.

Untuk kode sampel di C#/VB/C++ dan XAML yang menunjukkan cara menggunakan HttpClient untuk menyambungkan ke server HTTP, lihat HttpClient.

Untuk contoh kode di JavaScript dan HTML yang memperlihatkan cara menggunakan HttpClient untuk menyambungkan ke server HTTP, lihat Menyambungkan ke server HTTP menggunakan Windows.Web.Http.