saya masih baru di c # dan saya mencoba membuat aplikasi untuk halaman ini yang akan memberi tahu saya ketika saya mendapat pemberitahuan (dijawab, dikomentari, dll ..). Tetapi untuk saat ini saya hanya mencoba membuat panggilan sederhana ke api yang akan mendapatkan data pengguna.
Saya menggunakan Visual studio express 2012 untuk membangun aplikasi C #, di mana (untuk saat ini) Anda memasukkan id pengguna Anda, sehingga aplikasi akan membuat permintaan dengan id pengguna dan menampilkan statistik dari id pengguna ini.
berikut adalah kode tempat saya mencoba membuat permintaan:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//Request library
using System.Net;
using System.IO;
namespace TestApplication
{
class Connect
{
public string id;
public string type;
protected string api = "https://api.stackexchange.com/2.2/";
protected string options = "?order=desc&sort=name&site=stackoverflow";
public string request()
{
string totalUrl = this.join(id);
return this.HttpGet(totalUrl);
}
protected string join(string s)
{
return api + type + "/" + s + options;
}
protected string get(string url)
{
try
{
string rt;
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
rt = reader.ReadToEnd();
Console.WriteLine(rt);
reader.Close();
response.Close();
return rt;
}
catch(Exception ex)
{
return "Error: " + ex.Message;
}
}
public string HttpGet(string URI)
{
WebClient client = new WebClient();
// Add a user agent header in case the
// requested URI contains a query.
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Stream data = client.OpenRead(URI);
StreamReader reader = new StreamReader(data);
string s = reader.ReadToEnd();
data.Close();
reader.Close();
return s;
}
}
}
kelas adalah sebuah objek dan sedang diakses dari formulir dengan hanya mem-parsing id pengguna dan membuat permintaan.
Saya telah mencoba banyak contoh yang saya lihat di google, tetapi tidak tahu mengapa saya mendapatkan semua cara pesan ini " ".
Saya baru dalam algoritme semacam ini, jika ada yang dapat berbagi buku atau tutorial yang menunjukkan cara melakukan hal semacam ini (menjelaskan setiap langkah), saya akan sangat menghargainya
sumber
html
+1
Cara lain adalah menggunakan 'HttpClient' seperti ini:
HttpClient vs HttpWebRequest
Pembaruan 22 Juni 2020: Tidak disarankan menggunakan httpclient dalam blok 'menggunakan' karena dapat menyebabkan kehabisan port.
Jika menggunakan .Net Core 2.1+, pertimbangkan untuk menggunakan IHttpClientFactory dan menyuntikkan seperti ini ke kode startup Anda.
sumber
HttpClient
contoh digunakan tepat sekali untuk kehidupan program dan dibuang sebelum keluar program. Itu sepenuhnya benar dan tepat.Cara paling sederhana menurut saya
ATAU
sumber
sumber