PDA

View Full Version : سوال: خطای 405 در ارسال دیتا به سایت



ramtinak
شنبه 20 شهریور 1395, 13:20 عصر
سلام،
در سمت سرور برنامه:
طبق گفته مایکروسافت (https://support.microsoft.com/en-us/kb/819267)، برای اینکه بتوان اطلاعات پستی رو درون ASP دریافت کرد باید در پروژه، فایل Web.config کدهای زیر اضافه شود:

<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
من با استفاده از کد زیر در formloadـه صفحه ام، Streamـه درخواستی کاربر رو میگیرم و عملیاتی روی اون انجام میدم:


var sr = new StreamReader(Request.InputStream);
string content = sr.ReadToEnd();


حالا توی برنامه کلاینت من از کد زیر برای ارسال دیتا به صفحه ام استفاده می کنم:
string formParams = string.Format("us={0}&pw={1}", user, password);formParams = Uri.EscapeUriString(formParams);
byte[] bytes = Encoding.UTF8.GetBytes(formParams);
string address = "http://mysite.com/index.aspx?do=login";
HttpWebRequest request;
request = (HttpWebRequest)WebRequest.Create(address);
request.Method = "Post";
request.ContentType = "application/x-www-form-urlencoded";
using (Stream os = await request.GetRequestStreamAsync())
await os.WriteAsync(bytes, 0, bytes.Length);


HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
string pageSource = new StreamReader(response.GetResponseStream()).ReadToE nd();

به خط یکی به مونده آخر:
HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync();
Execption میده:
The remote server returned an error: (405) Method Not Allowed.

تا جایی که من فهمیدم، این خطا مربوط به قسمت Web.config و ست نکردن HttpPost هست، اما من همه این ها رو انجام دادم ولی اطلاعات که می خوام به سایت ارسال کنم، با این خطا روبه رو میشم.

ممنون