به هم ریختن متن فارسی در متد post از Restful وب سرویس
با سلام خدمت دوستان عزیز
من دارم یه متد Post با کد زیر Call می کنم. همه کارها به درستی انجام میشه.
مشکل کار فقط تو ذخیره کردن اسم راننده که فارسی نوشته میشه هستش. تو دیتا بیس بصورت حروف غیر مرتبط ذخیره میشه مثلا یه نمونش اینطوریه -EJ/ EG1'(J
مشکل از دیتابیس و سمت سرور نیست. چون طبق گفته ادمین سایر کسانی که call میکنن اطلاعاتشون درسته
دوستان اگه تجربه ای تو این زمینه دارن ممنون میشم راهنمایی کنن
private static string Post(string url)
{
string postData = string.Empty;
HttpWebRequest httpWReq = (HttpWebRequest) WebRequest.Create(url);
BinaryFormatter bf = new BinaryFormatter();
MemoryStream ms = new MemoryStream();
bf.Serialize(ms, postData);
byte[] data = ms.ToArray();
httpWReq.ContentLength = data.Length;
httpWReq.Method = "POST";
httpWReq.Headers.Set(HttpRequestHeader.AcceptEncod ing, "UTF-8");
httpWReq.Headers.Set(HttpRequestHeader.AcceptChars et, "UTF-8");
httpWReq.Headers.Set(HttpRequestHeader.AcceptLangu age, "fa-ir, ar, en");
httpWReq.Headers.Add(HttpRequestHeader.AcceptChars et, "UTF-8");
httpWReq.Headers.Add(HttpRequestHeader.AcceptEncod ing, "UTF-8");
httpWReq.Headers.Add(HttpRequestHeader.AcceptLangu age, "fa-ir, ar, en");
httpWReq.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1);Accept-Language:fa-ir";
httpWReq.Accept = "application/x-www-form-urlencoded;charset=UTF-8";
httpWReq.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
httpWReq.Headers.Add("USER", "62");
httpWReq.Headers.Add("PASSID", "11111");
httpWReq.Headers.Add("DRIVER", "علی محمدی");
byte[] bytes = Encoding.UTF8.GetBytes(postData.ToString());
using (Stream newStream = httpWReq.GetRequestStream())
{
newStream.Write(data, 0, data.Length);
}
HttpWebResponse response = (HttpWebResponse) httpWReq.GetResponse();
Stream stream = response.GetResponseStream();
Encoding encode = System.Text.Encoding.GetEncoding("UTF-8");
StreamReader streamReader = new StreamReader(stream, encode);
string html = streamReader.ReadToEnd();
response.Close();
streamReader.Close();
return html;
}
نقل قول: به هم ریختن فونت فارسی در متد post از Restful وب سرویس
اینو امتحان کنید
private string Post(string url, string postData)
{
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
byte[] dataBytes = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1);Accept-Language:fa-ir";
request.Accept = "application/x-www-form-urlencoded;charset=UTF-8";
request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
using (Stream requestStream = request.GetRequestStream())
{
requestStream.Write(dataBytes, 0, dataBytes.Length);
}
string html = null;
using (HttpWebResponse response = (HttpWebResponse) request.GetResponse())
{
Stream responseStream = response.GetResponseStream();
if (responseStream != null)
{
using (var streamReader = new StreamReader(responseStream, Encoding.UTF8))
{
html = streamReader.ReadToEnd();
}
}
}
return html;
}
نحوه استفاده
string data = "USER=62&PASSID=11111&DRIVER=علی محمدی";
string response = Post("........", data);
//....
نقل قول: به هم ریختن فونت فارسی در متد post از Restful وب سرویس
سلام
ممنونم از جوابتون. ولی طبق گفته سازنده وب سرویس پارامتر ها می بایست از طریق هدر پاس داده بشن