PDA

View Full Version : سوال: نخوه ارسال پارامتری از نوع Dictionary به متد



mr_ayma
پنج شنبه 18 آذر 1395, 00:50 صبح
سلام ؛ چطوری تابع HttpPostRequest تو بدنه اصلی برنامه ام صدا بزنم ؟ مشکلم با نحوه ارسال پارامتر دومه یعنی این قسمت




Dictionary<string, string> postParameters


مثلا اگه url برابر "www.mysite.com " باشه و بخوام برای پارامتر دوم رشته اول "name " باشه و رشته دوم "ai " باشه ، چطور باید این پارامترها رو ارسال کنم .





public static string HttpPostRequest(string url, Dictionary<string, string> postParameters)
{
string postData = "";

foreach (string key in postParameters.Keys)
{
postData += HttpUtility.UrlEncode(key) + "="
+ HttpUtility.UrlEncode(postParameters[key]) + "&";
}

HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
myHttpWebRequest.Method = "POST";

byte[] data = Encoding.ASCII.GetBytes(postData);

myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength = data.Length;

Stream requestStream = myHttpWebRequest.GetRequestStream();
requestStream.Write(data, 0, data.Length);
requestStream.Close();

HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();

Stream responseStream = myHttpWebResponse.GetResponseStream();

StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default);

string pageContent = myStreamReader.ReadToEnd();

myStreamReader.Close();
responseStream.Close();

myHttpWebResponse.Close();

return pageContent;
}