zoukankan      html  css  js  c++  java
  • C#实现的HttpSQS客户端封装类

    class HttpSQSClient
        {
            private String server, port, charset;
    
            public HttpSQSClient(String server, String port, String charset)
            {
                this.server = server;
                this.port = port;
                this.charset = charset;
            }
    
            private string DoProcess(String urlstr)
            {
                string result = String.Empty;
    
                Uri url = null;
                try
                {
                    url = new Uri(urlstr);
                }
                catch (Exception e)
                {
                    return "The httpsqs server must be error";
                }
    
                try
                {
                    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                    request.Method = "get";
    
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    System.Text.Encoding encode;
                    try
                    {
                        encode = System.Text.Encoding.GetEncoding(response.CharacterSet);
                    }
                    catch
                    {
                        encode = System.Text.Encoding.Default;
                    }
    
                    System.IO.Stream stream = response.GetResponseStream();
                    System.IO.StreamReader read = new System.IO.StreamReader(stream, encode);
                    result = read.ReadToEnd();
    
                    response.Close();
    
                    return result;
                }
                catch (IOException ex)
                {
                    return "Get data error";
                }
            }
    
            public String MaxQueue(String queue_name, String num)
            {
                String urlstr = "http://" + this.server + ":" + this.port + "/?name="
                        + queue_name + "&opt=maxqueue&num=" + num;
    
                String result = null;
    
                result = this.DoProcess(urlstr);
                return result;
            }
    
            public String Reset(String queue_name)
            {
                String urlstr = "http://" + this.server + ":" + this.port + "/?name="
                        + queue_name + "&opt=reset";
                String result = null;
    
                result = this.DoProcess(urlstr);
                return result;
            }
    
            public String View(String queue_name, String pos)
            {
                String urlstr = "http://" + this.server + ":" + this.port
                        + "/?charset=" + this.charset + "&name=" + queue_name
                        + "&opt=view&pos=" + pos;
                String result = null;
    
                result = this.DoProcess(urlstr);
                return result;
            }
    
            public String Status(String queue_name)
            {
                String urlstr = "http://" + this.server + ":" + this.port + "/?name="
                        + queue_name + "&opt=status";
                String result = null;
    
                result = this.DoProcess(urlstr);
                return result;
            }
    
            public String Get(String queue_name)
            {
                String urlstr = "http://" + this.server + ":" + this.port
                        + "/?charset=" + this.charset + "&name=" + queue_name
                        + "&opt=get";
                String result = null;
    
                result = this.DoProcess(urlstr);
                return result;
            }
    
            public String Put(String queue_name, String data)
            {
                String ret = String.Empty;
                String urlstr = "http://" + this.server + ":" + this.port + "/?name="
                        + queue_name + "&opt=put";
                Uri url = null;
                try
                {
                    url = new Uri(urlstr);
                }
                catch (Exception)
                {
                    return "The httpsqs server must be error";
                }
    
                HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
                request.Method = "post";
                byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(data);
                request.ContentType = "application/x-www-form-urlencoded";
                request.ContentLength = requestBytes.Length;
                request.Timeout = 6000;
                try
                {
                    Stream requestStream = request.GetRequestStream();
                    requestStream.Write(requestBytes, 0, requestBytes.Length);
                    requestStream.Close();
    
                    HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                    StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default);
                    ret = reader.ReadToEnd();
                }
                catch (Exception)
                {
                    return "Put data error";
                }
    
                return ret;
            }
        }
  • 相关阅读:
    LR--用栈实现移进--归约分析(demo)
    阿里云ECS服务器socket无法连接的问题
    select客户端模型封装——回调方式快速建立客户端
    select服务器端模型封装——回调方式快速建立服务端
    python实现的ocr接口
    汉字字典树
    linux下简易端口扫描器
    Linux下cs简单通讯(socket)
    POj 1321 棋盘问题 DFS 回溯
    HDU 1097 快速幂
  • 原文地址:https://www.cnblogs.com/jenqz/p/2818481.html
Copyright © 2011-2022 走看看