PDA

View Full Version : ارسال و دریافت XML از طریق متد POST



atinet
یک شنبه 30 خرداد 1389, 07:24 صبح
با سلام خدمت دوستان عزیز
می خواستم بدونم راهی برای ارسال یک فایل XML به یک نشانی اینترنتی از طریق متد POST و دریافت پاسخ آن صفحه به صورت XML هست؟
لطفا راهنمایی کنید.

ممنون

Alireza_Salehi
یک شنبه 30 خرداد 1389, 09:23 صبح
با اسفاده از stream ی که درون کلاس HttpRequest هست می توانید هر نوع فایلی را با تنظیم کردن ContentType آن ارسال کنید.

اینجا یک مثال داره:
http://www.vikramlakhotia.com/Sending_XML_data_in_POST_request.aspx

atinet
یک شنبه 06 تیر 1389, 10:33 صبح
ممنون از راهنماییتون. من قبلا از این کد استفاده کرده بودم ولی این خطا رو به من نشون میده:

System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel. at System.Net.HttpWebRequest.GetRequestStream(Transpo rtContext& context) at System.Net.HttpWebRequest.GetRequestStream() at send.Page_Load(Object sender, EventArgs e) in f:\NewProject\RibbonTest\send.aspx.cs:line 35

این هم کدی که من نوشتم:




try
{
string xml = Server.MapPath("~/contact_check.xml");

string url = @"https://epp.nic.ir/submit";

WebRequest request = WebRequest.Create(url);

request.Method = "Post";

request.ContentType = "text/xml";

//The encoding might have to be chaged based on requirement

UTF8Encoding encoder = new UTF8Encoding();

byte[] data = encoder.GetBytes(xml); //postbody is plain string of xml

request.ContentLength = data.Length;

Stream reqStream = request.GetRequestStream();

reqStream.Write(data, 0, data.Length);

reqStream.Close();

System.Net.WebResponse response = request.GetResponse();

System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream( ));

string str = reader.ReadToEnd();
Label1.Text = str.ToString();
}
catch (Exception ex)
{
Label1.Text = ex.ToString();
}