Yang mengejutkan saya, saya tidak dapat melakukan apapun yang sesederhana ini, dari apa yang dapat saya katakan, di .NET BCL:
byte[] response = Http.Post
(
url: "http://dork.com/service",
contentType: "application/x-www-form-urlencoded",
contentLength: 32,
content: "home=Cosby&favorite+flavor=flies"
);
Kode hipotetis di atas membuat HTTP POST, dengan data, dan mengembalikan respons dari a Post
metode pada kelas statis Http
.
Karena kita dibiarkan tanpa sesuatu semudah ini, apa solusi terbaik berikutnya?
Bagaimana cara mengirim POST HTTP dengan data DAN mendapatkan konten tanggapan?
Jawaban:
Anda akan membutuhkan ini termasuk:
Jika Anda ngotot menggunakan metode / kelas statis:
Maka cukup:
sumber
string result = System.Text.Encoding.UTF8.GetString(response)
. Ini adalah pertanyaan di mana saya menemukan jawabannya.Menggunakan HttpClient: sejauh menyangkut pengembangan aplikasi Windows 8, saya menemukan ini.
sumber
.Result
denganAsync
panggilan - penggunaanawait
untuk memastikan thread UI Anda tidak akan memblokir. Juga, sederhananew[]
akan berfungsi serta Daftar; Kamus dapat membersihkan kode, tetapi akan mengurangi beberapa fungsi HTTP.Gunakan WebRequest . Dari Scott Hanselman :
sumber
sumber
Secara pribadi, saya pikir pendekatan paling sederhana untuk melakukan posting http dan mendapatkan respons adalah dengan menggunakan kelas WebClient. Kelas ini dengan baik mengabstraksi detailnya. Bahkan ada contoh kode lengkap dalam dokumentasi MSDN.
http://msdn.microsoft.com/en-us/library/system.net.webclient(VS.80).aspx
Dalam kasus Anda, Anda menginginkan metode UploadData (). (Sekali lagi, contoh kode dimasukkan dalam dokumentasi)
http://msdn.microsoft.com/en-us/library/tdbbwh0a(VS.80).aspx
UploadString () mungkin akan berfungsi juga, dan abstrak itu satu tingkat lagi.
http://msdn.microsoft.com/en-us/library/system.net.webclient.uploadstring(VS.80).aspx
sumber
Saya tahu ini adalah utas lama, tetapi harap ini membantu seseorang.
sumber
Mengingat jawaban lain berusia beberapa tahun, saat ini inilah pemikiran saya yang mungkin membantu:
Cara paling sederhana
Contoh yang Lebih Praktis
Seringkali kita berhadapan dengan tipe dan JSON yang dikenal, sehingga Anda dapat memperluas ide ini dengan sejumlah implementasi, seperti:
Contoh bagaimana ini bisa disebut:
sumber
Anda dapat menggunakan sesuatu seperti kode pseudo ini:
sumber