Windows.Web.Http Ruang nama
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
- WinJS.xhr untuk JavaScript
- HttpClient di namespace System.Net.Http untuk C# dan VB.
- IXMLHTTPRequest2 untuk C++
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:
- HttpClient - kelas utama yang mengirim dan menerima permintaan melalui HTTP.
- HttpRequestMessage - Pesan permintaan HTTP yang ditentukan dalam RFC 2616.
- HttpResponseMessage - Pesan respons HTTP yang ditentukan dalam RFC 2616.
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.