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;
            }
        }
  • 相关阅读:
    注释驱动的 Spring cache 缓存介绍--转载
    AOP 的利器:ASM 3.0 介绍
    字符串比较报错
    Performing a thread dump in Linux or Windows--reference
    Linux 精准获取进程pid--转
    /bin/bash^M: bad interpreter: 没有那个文件或目录--转载
    linux 进程综合指令
    Sending e-mail with Spring MVC---reference
    Spring XD 1.1 M2 and 1.0.3 released---support kafka
    大数据框架对比:Hadoop、Storm、Samza、Spark和Flink——flink支持SQL,待看
  • 原文地址:https://www.cnblogs.com/jenqz/p/2818481.html
Copyright © 2011-2022 走看看