0

我正在尝试制作一个小型登录系统,但我遇到了这个问题,当项目在 VS2010 上运行时它说:

The remote server returned an error: (405) Method Not Allowed.  

这是我的代码:

 //Our URL
        string uri = "https://************************/ValidateUsername";
        //Our postvars
        byte[] buffer = Encoding.ASCII.GetBytes( "username=user" );

        //Initialization
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
        request.Accept = "application/json;odata=verbose";
        request.Headers.Add("Language", "es-MX");
        request.Headers.Add("Application", "-------------------");
        request.Headers.Add("Version", "1.0");

        //Our method is POST, otherway buffer would be useless
        request.Method = "POST";

        //We use form contentType, for the postvars
        request.ContentType = "application/x-www-form-urlencoded";

        //The lenght of the content its set by postvars (buffer) lenght
        request.ContentLength = buffer.Length;

        //We open a stream for writing the postvars
        Stream PostData = request.GetRequestStream();
        //Now we write, and afterwards, we close.
        PostData.Write(buffer, 0, buffer.Length);

当我将指针悬停在“PostData”上,然后转到长度和位置属性时,我可以阅读:

Length = 'PostData.Length' threw an exception of type 'System.NotSupportedException'
base {System.SystemException} = {"This stream does not support seek operations."}

我不确定这是否是真正的问题,但我试图提供尽可能多的信息。

        PostData.Close();

        //Get the response Handle
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();

        //lets show info about the response
        Console.WriteLine("Estatus de la respuesta:" + response.StatusCode);
        Console.WriteLine("Servidor : " + response.Server);

        //Now we read the response (the string), and output it
        //Stream answer = response.GetResponseStream();
        //StreamReader _answer = new StreamReader(answer);
        //Console.WriteLine("Respuesta: " + _answer.ReadToEnd());

在某个论坛上,我读到“_answer.ReadToEnd()”可能是问题所在,但即使我评论过,问题仍然存在。

我这样做是为了稍后我可以在 windows phone 上尝试,不知道我是否在浪费我的时间,因为它们不相关。

我希望有人能帮帮忙。提前致谢。

4

0 回答 0