예제 #1
0
 public bool getToken(string username, string password)
 {
     if (Global.online)
     {
         return(RemoteWorker.getTokenResponse(username, password));
     }
     else
     {
         return(true);
     }
 }
예제 #2
0
        public static string HttpGet(string Url, string postDataStr)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr);
                request.Timeout          = 1000 * 30;
                request.ReadWriteTimeout = 1000 * 30;
                request.Method           = "GET";
                request.ContentType      = "text/html;charset=UTF-8";
                //request.Headers.Add("X-Appid", Global.Appid);
                //request.Headers.Add("X-CurTime", UTC.ConvertDateTimeInt(DateTime.Now).ToString());
                //request.Headers.Add("X-CheckSum", GetMD5String(Global.Appkey + UTC.ConvertDateTimeInt(DateTime.Now).ToString()));
                if (Global.token != null)
                {
                    if ((DateTime.Now - Global.token.tokenTime).Minutes > 120)
                    {
                        if (RemoteWorker.getTokenResponse(Global.user.Name, Global.user.Password))
                        {
                        }
                        else
                        {
                            MessageBox.Show("Token已超时,重新获取Token失败,系统切换至离线状态");
                            Global.online = false;
                            return("error");
                        }
                    }
                    request.Headers.Add("API_TOKEN", Global.token.access_token);
                }

                HttpWebResponse response         = (HttpWebResponse)request.GetResponse();
                Stream          myResponseStream = response.GetResponseStream();
                StreamReader    myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
                string          retString        = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();

                return(retString);
            }
            catch (WebException we)
            {
                MessageBox.Show("获取数据超时:" + we.Message);
                Global.online = false;
                return("error");
            }
            catch (Exception ex)
            {
                MessageBox.Show("获取数据失败:" + ex.Message);
                Global.online = false;
                return("error");
            }
        }
예제 #3
0
        public static string PostJson(string Url, string postDataStr)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);

            request.Method      = "POST";
            request.ContentType = "text/html;charset=utf-8";
            //request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
            //request.Headers.Add("X-Appid", Global.Appid);
            //request.Headers.Add("X-CurTime", UTC.ConvertDateTimeInt(DateTime.Now).ToString());
            //request.Headers.Add("X-CheckSum", GetMD5String(Global.Appkey+ UTC.ConvertDateTimeInt(DateTime.Now).ToString()));

            if (Global.token != null)
            {
                if ((DateTime.Now - Global.token.tokenTime).Minutes > 120)
                {
                    if (RemoteWorker.getTokenResponse(Global.user.Name, Global.user.Password))
                    {
                    }
                    else
                    {
                        MessageBox.Show("Token已超时,重新获取Token失败,系统切换至离线状态");
                        Global.online = false;
                        return("error");
                    }
                }
                request.Headers.Add("API_TOKEN", Global.token.access_token);
            }

            Stream       myRequestStream = request.GetRequestStream();
            StreamWriter myStreamWriter  = new StreamWriter(myRequestStream, Encoding.GetEncoding("utf-8"));

            myStreamWriter.Write(postDataStr);
            myStreamWriter.Close();

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            Stream       myResponseStream = response.GetResponseStream();
            StreamReader myStreamReader   = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
            string       retString        = myStreamReader.ReadToEnd();

            myStreamReader.Close();
            myResponseStream.Close();

            return(retString);
        }
예제 #4
0
        /// <summary>
        /// 指定Post地址使用Get 方式获取全部字符串
        /// </summary>
        /// <param name="url">请求后台地址</param>
        /// <param name="content">Post提交数据内容(utf-8编码的)</param>
        /// <returns></returns>
        public static string PostStr(string url, string content)
        {
            try
            {
                string         result  = "";
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                //req.ContentType = "application/x-www-form-urlencoded";
                request.ContentType = "application/json";
                //req.Headers.Add("X-Appid", Global.Appid);
                //req.Headers.Add("X-CurTime", UTC.ConvertDateTimeInt(DateTime.Now).ToString());
                //req.Headers.Add("X-CheckSum", GetMD5String(Global.Appkey + UTC.ConvertDateTimeInt(DateTime.Now).ToString()));

                if (Global.token != null)
                {
                    if ((DateTime.Now - Global.token.tokenTime).Minutes > 120)
                    {
                        if (RemoteWorker.getTokenResponse(Global.user.Name, Global.user.Password))
                        {
                        }
                        else
                        {
                            MessageBox.Show("Token已超时,重新获取Token失败,系统切换至离线状态");
                            Global.online = false;
                            return("error");
                        }
                    }
                    request.Headers.Add("API_TOKEN", Global.token.access_token);
                }

                #region 添加Post 参数
                byte[] data = Encoding.UTF8.GetBytes(content);
                request.ContentLength = data.Length;
                using (Stream reqStream = request.GetRequestStream())
                {
                    reqStream.Write(data, 0, data.Length);
                    reqStream.Close();
                }
                #endregion

                HttpWebResponse resp   = (HttpWebResponse)request.GetResponse();
                Stream          stream = resp.GetResponseStream();
                //获取响应内容
                using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
                {
                    result = reader.ReadToEnd();
                }
                return(result);
            }
            catch (WebException we)
            {
                MessageBox.Show("提交数据超时" + we.Message);
                Global.online = false;
                return("error");
            }
            catch (Exception ex)
            {
                MessageBox.Show("提交数据失败" + ex.Message);
                Global.online = false;
                return("error");
            }
        }