ramtinak
شنبه 20 شهریور 1395, 14: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 هست، اما من همه این ها رو انجام دادم ولی اطلاعات که می خوام به سایت ارسال کنم، با این خطا روبه رو میشم.
ممنون
در سمت سرور برنامه:
طبق گفته مایکروسافت (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 هست، اما من همه این ها رو انجام دادم ولی اطلاعات که می خوام به سایت ارسال کنم، با این خطا روبه رو میشم.
ممنون