示例#1
0
        /*
         * send request to Hydra server and receive the respond using string which represent function name and its arguments
         * */
        public string callServer(string request)
        {
            string result = "";

            try
            {
                httpWebRequest                 = (HttpWebRequest)WebRequest.Create(webAddr);
                httpWebRequest.KeepAlive       = false;
                httpWebRequest.Timeout         = System.Threading.Timeout.Infinite;
                httpWebRequest.ProtocolVersion = HttpVersion.Version10;
                httpWebRequest.Method          = "POST";
                addCookie();
                httpWebRequest.Headers.Add("session_id", user.sessonid);
                using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
                {
                    streamWriter.Write(request);
                    streamWriter.Flush();
                }
                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                if (cookies == null && string.IsNullOrEmpty(user.sessonid))
                {
                    this.getCokkie(httpResponse);
                }

                using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
                {
                    result = streamReader.ReadToEnd();
                }
            }
            catch (System.Net.WebException ex)
            {
                string errormessage = "";
                try
                {
                    using (var streamReader = new StreamReader(ex.Response.GetResponseStream()))
                    {
                        errormessage = streamReader.ReadToEnd();
                        MessagesWriter.writeErrorMessage(ex.Message + "\nDetailed server response: " + errormessage, "", "");
                    }
                }
                catch (System.NullReferenceException ex2)
                {
                    MessagesWriter.writeErrorMessage("No connection can be established ");
                }
            }
            catch (System.NullReferenceException ex)
            {
                MessagesWriter.writeErrorMessage(ex.Message, "", "");
            }
            catch (Exception ex)
            {
                MessagesWriter.writeErrorMessage(ex.Message, "", "");
            }
            return(result);
        }