আমি এএসপি.নেটে একটি ওয়েব অনুরোধ তৈরি করছি এবং আমার শরীরে একগুচ্ছ ডেটা যুক্ত করা দরকার। আমি কেমন করে ঐটি করি?
var request = HttpWebRequest.Create(targetURL);
request.Method = "PUT";
response = (HttpWebResponse)request.GetResponse();
আমি এএসপি.নেটে একটি ওয়েব অনুরোধ তৈরি করছি এবং আমার শরীরে একগুচ্ছ ডেটা যুক্ত করা দরকার। আমি কেমন করে ঐটি করি?
var request = HttpWebRequest.Create(targetURL);
request.Method = "PUT";
response = (HttpWebResponse)request.GetResponse();
উত্তর:
সঙ্গে HttpWebRequest.GetRequestStream
Http://msdn.microsoft.com/en-us/library/d4cek6cc.aspx থেকে কোড উদাহরণ
string postData = "firstone=" + inputData;
ASCIIEncoding encoding = new ASCIIEncoding ();
byte[] byte1 = encoding.GetBytes (postData);
// Set the content type of the data being posted.
myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
// Set the content length of the string being posted.
myHttpWebRequest.ContentLength = byte1.Length;
Stream newStream = myHttpWebRequest.GetRequestStream ();
newStream.Write (byte1, 0, byte1.Length);
আমার নিজস্ব কোড থেকে একটি:
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Credentials = this.credentials;
request.Method = method;
request.ContentType = "application/atom+xml;type=entry";
using (Stream requestStream = request.GetRequestStream())
using (var xmlWriter = XmlWriter.Create(requestStream, new XmlWriterSettings() { Indent = true, NewLineHandling = NewLineHandling.Entitize, }))
{
cmisAtomEntry.WriteXml(xmlWriter);
}
try
{
return (HttpWebResponse)request.GetResponse();
}
catch (WebException wex)
{
var httpResponse = wex.Response as HttpWebResponse;
if (httpResponse != null)
{
throw new ApplicationException(string.Format(
"Remote server call {0} {1} resulted in a http error {2} {3}.",
method,
uri,
httpResponse.StatusCode,
httpResponse.StatusDescription), wex);
}
else
{
throw new ApplicationException(string.Format(
"Remote server call {0} {1} resulted in an error.",
method,
uri), wex);
}
}
catch (Exception)
{
throw;
}
হালনাগাদ
আমার অন্যান্য এসও উত্তর দেখুন।
মূল
var request = (HttpWebRequest)WebRequest.Create("https://example.com/endpoint");
string stringData = ""; // place body here
var data = Encoding.Default.GetBytes(stringData); // note: choose appropriate encoding
request.Method = "PUT";
request.ContentType = ""; // place MIME type here
request.ContentLength = data.Length;
var newStream = request.GetRequestStream(); // get a ref to the request body so it can be modified
newStream.Write(data, 0, data.Length);
newStream.Close();
Stream
বস্তু newStream
points এটি কল করার মাধ্যমে অ্যাক্সেস করা হয় HttpWReq.GetRequestStream()
। অনুরোধে আর কিছু সেট করার দরকার নেই।
এই বিষয়ের উত্তরগুলি দুর্দান্ত। তবে আমি অন্য একটি প্রস্তাব করতে চাই। সম্ভবত আপনাকে একটি এপিআই দেওয়া হয়েছে এবং এটি আপনার সি # প্রকল্পে চান। পোস্টম্যান ব্যবহার করে আপনি এপিআই কলটি সেটআপ করতে এবং সেখানে পরীক্ষা করতে পারবেন এবং একবার এটি সঠিকভাবে চালিত হলে, আপনি কেবল 'কোড' ক্লিক করতে পারেন এবং আপনি যে অনুরোধটি নিয়ে কাজ করছেন তা এসি-স্নিপেটে লেখা হয়। এটার মত:
var client = new RestClient("https://api.XXXXX.nl/oauth/token");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic N2I1YTM4************************************jI0YzJhNDg=");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
request.AddParameter("grant_type", "password");
request.AddParameter("username", "development+XXXXXXXX-admin@XXXXXXX.XXXX");
request.AddParameter("password", "XXXXXXXXXXXXX");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
উপরের কোডটি নুগেট প্যাকেজ রেস্টস্টের্পের উপর নির্ভর করে, যা আপনি সহজেই ইনস্টল করতে পারেন।