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; } }