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;
            }
        }
  • 相关阅读:
    if 语句练习 身高体重问题
    阶乘
    if语句和switch语句
    Java 运算符
    Centos上把新安装的程序添加到系统环境变量的两种方法
    申请 Let’s Encrypt 泛域名证书 及 Nginx/Apache 证书配置
    Centos 6.5安装OpenSSL
    openssl version 查看openssl 版本出现openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory,怎么办
    ab压力测试遭遇apr_socket_recv: Connection reset by peer (104) 怎么办
    配置apache实现对网站某一目录的访问自动跳转到指定目录
  • 原文地址:https://www.cnblogs.com/jenqz/p/2818481.html
Copyright © 2011-2022 走看看