আমি নিম্নলিখিত কোড পেয়েছি যা সফলভাবে কাজ করে। কুকিটি কীভাবে সাড়া ফেলবে তা আমি বুঝতে পারি না। আমার লক্ষ্যটি হ'ল আমি অনুরোধে কুকি সেট করতে সক্ষম হতে এবং প্রতিক্রিয়া থেকে কুকিগুলি আউট করতে চাই। থটস?
private async Task<string> Login(string username, string password)
{
try
{
string url = "http://app.agelessemail.com/account/login/";
Uri address = new Uri(url);
var postData = new List<KeyValuePair<string, string>>
{
new KeyValuePair<string, string>("username", username),
new KeyValuePair<string, string>("password ", password)
};
HttpContent content = new FormUrlEncodedContent(postData);
var cookieJar = new CookieContainer();
var handler = new HttpClientHandler
{
CookieContainer = cookieJar,
UseCookies = true,
UseDefaultCredentials = false
};
var client = new HttpClient(handler)
{
BaseAddress = address
};
HttpResponseMessage response = await client.PostAsync(url,content);
response.EnsureSuccessStatusCode();
string body = await response.Content.ReadAsStringAsync();
return body;
}
catch (Exception e)
{
return e.ToString();
}
}
এখানে সম্পূর্ণ উত্তর:
HttpResponseMessage response = await client.PostAsync(url,content);
response.EnsureSuccessStatusCode();
Uri uri = new Uri(UrlBase);
var responseCookies = cookieJar.GetCookies(uri);
foreach (Cookie cookie in responseCookies)
{
string cookieName = cookie.Name;
string cookieValue = cookie.Value;
}
কৌতূহলের বাইরে, আমি জিজ্ঞাসা করতে পারি যে আপনি ক্লায়েন্টে কুকি কেন পড়তে চান? আমার বোধগম্যতা হল যে কুকিজ সার্ভারে তথ্য প্রেরণের জন্য ব্যবহৃত হয়, তথ্য ফেরত দেওয়ার জন্য নয়।
—
ড্যারেল মিলার
আমি JSON ফেরত কলগুলিতে ফিরে আসা কুকিটি ব্যবহার করি যাতে প্রতিটি জেএসএন কলের জন্য আমাকে আলাদা অনুমোদন কল করতে না হয়। এটি বলার জন্য, আমার কাছে একটি কল লগ / হোম / গেটডেটা রয়েছে যা জেএসএনকে ফেরত দেয় তবে কেবল অনুমোদিত হলে। ক্লায়েন্টের অনুরোধে, আমি কুকি যুক্ত করি যাতে / হোম / গেটডেটা প্রতিক্রিয়া জানায়। অন্যথায় এটি অননুমোদিত "403" বলবে।
—
পিটার কেলনার
ডিফল্ট শিরোলেখ হিসাবে অনুমোদন শিরোনাম সেট করা প্রায় হিসাবে কার্যকর এবং কিছুটা বেশি মানক। সার্ভারের ক্লায়েন্টের পক্ষে স্বয়ংক্রিয়ভাবে লেখক শিরোনাম সেট করার কোনও উপায় নেই।
—
ড্যারেল মিলার
টিপ ড্যারেল জন্য ধন্যবাদ। এএসপনেটে দেখতে দেখতে এমন কোনও উদাহরণ রয়েছে কি? আমি আমার মনোোটুচ এবং এখন আমার উইন্ডোজ স্টোর অ্যাপ্লিকেশনটির জন্য এটির সাথে লড়াই করেছি। যদি কোনও সহজ উপায় থাকে তবে আমি খুশি হব। এটি একটি ব্যথা, বিশেষত async সহ এবং উইন্ডোজ স্টোর অ্যাপ্লিকেশনগুলিতে এখন অপেক্ষা করুন।
—
পিটার ক্যালনার