এটা আমার প্রথম সময় কখনও JSON ব্যবহার করে এবং সেইসাথে হয় System.Net
এবং WebRequest
আমার অ্যাপলিকেশনগুলির কোনো। আমার অ্যাপ্লিকেশনটি কোনও প্রমাণীকরণের সার্ভারে নীচের মতো একটি জেএসএন পে-লোড প্রেরণ করার কথা:
{
"agent": {
"name": "Agent Name",
"version": 1
},
"username": "Username",
"password": "User Password",
"token": "xxxxxx"
}
এই পেডলোডটি তৈরি করতে, আমি JSON.NET
লাইব্রেরিটি ব্যবহার করেছি । আমি কীভাবে এই তথ্যটিকে প্রমাণীকরণের সার্ভারে প্রেরণ করব এবং এর JSON প্রতিক্রিয়া ফিরে পাব? এখানে আমি কয়েকটি উদাহরণে যা দেখেছি তা কিন্তু জেএসওএন সামগ্রী নেই:
var http = (HttpWebRequest)WebRequest.Create(new Uri(baseUrl));
http.Accept = "application/json";
http.ContentType = "application/json";
http.Method = "POST";
string parsedContent = "Parsed JSON Content needs to go here";
ASCIIEncoding encoding = new ASCIIEncoding();
Byte[] bytes = encoding.GetBytes(parsedContent);
Stream newStream = http.GetRequestStream();
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
var response = http.GetResponse();
var stream = response.GetResponseStream();
var sr = new StreamReader(stream);
var content = sr.ReadToEnd();
তবে, আমি অতীতে অন্যান্য ভাষাগুলি ব্যবহার করার সাথে তুলনামূলকভাবে অনেক কোড বলে মনে করি। আমি কি এটি সঠিকভাবে করছি? এবং আমি কীভাবে JSON প্রতিক্রিয়া ফিরে পাব যাতে আমি এটি বিশ্লেষণ করতে পারি?
ধন্যবাদ, অভিজাত
আপডেট কোড
// Send the POST Request to the Authentication Server
// Error Here
string json = await Task.Run(() => JsonConvert.SerializeObject(createLoginPayload(usernameTextBox.Text, password)));
var httpContent = new StringContent(json, Encoding.UTF8, "application/json");
using (var httpClient = new HttpClient())
{
// Error here
var httpResponse = await httpClient.PostAsync("URL HERE", httpContent);
if (httpResponse.Content != null)
{
// Error Here
var responseContent = await httpResponse.Content.ReadAsStringAsync();
}
}
WebClient.UploadString(JsonConvert.SerializeObjectobj(yourobj))
বাHttpClient.PostAsJsonAsync