'''
httpsqs队列封装
@author xp_go@qq.com a = HttpsqsClient('192.168.0.218','1218','httpsqsmmall.com')
print a.put('logtest','sdfsfsf')
print a.get('logtest')
''' import urllib,urllib2,json class HttpsqsClient(object):
def __init__(self,host= '127.0.0.1',port='',auth = '', charset = 'utf-8'):
self.httpsqs_url = 'http://' + host + ':' + port + '/?'
self.httpsqs_auth = auth
self.httpsqs_charset = charset def __http_get(self,params):
'''
http get??
params = {"wd":"a","b":"2"}
'''
params['auth'] = self.httpsqs_auth
params['charset'] = self.httpsqs_charset
try:
url_params = urllib.urlencode(params)
final_url = self.httpsqs_url + url_params
page = urllib2.urlopen(final_url,timeout=3).read()
return page
except urllib2.HTTPError, e:
print "Error Code:", e.code
except urllib2.URLError, e:
print "Error Reason:", e.reason def __http_post(self,params,post_data):
"""
http post??
@param params: params = {"wd":"a","b":"2"}
@param post_data: json or string
@type post_data: string
@return:string
"""
params['auth'] = self.httpsqs_auth
params['charset'] = self.httpsqs_charset url_params = urllib.urlencode(params)
final_url = self.httpsqs_url + url_params
post_data = post_data.encode('utf8')
try:
req = urllib2.Request(final_url, post_data)
page = urllib2.urlopen(req,timeout=3).read()
return page
except urllib2.HTTPError, e:
print "Error Code:", e.code
except urllib2.URLError, e:
print "Error Reason:", e.reason def put(self,queue_name,queue_data):
params = {'opt':'put','name':queue_name}
r = self.__http_post(params,queue_data)
if r == 'HTTPSQS_PUT_OK':
return True
return False def get(self,queue_name):
params = {'opt':'get','name':queue_name}
r = self.__http_get(params)
if r == 'HTTPSQS_GET_END':
return None
return r def status(self,queue_name):
params = {'opt':'status','name':queue_name}
return self.__http_get(params) def status_json(self,queue_name):
params = {'opt':'status_json','name':queue_name}
return self.__http_get(params) def reset(self,queue_name):
params = {'opt':'reset','name':queue_name}
return self.__http_get(params) def maxqueue(self,queue_name,num):
params = {'opt':'maxqueue','name':queue_name,'num':str(num)}
return self.__http_get(params) def synctime(self,queue_name,num):
params = {'opt':'synctime','name':queue_name,'num':str(num)}
return self.__http_get(params)

Python httpsqs封装类的更多相关文章

  1. selenium识别登录验证码---基于python实现

    本文主要是通过PIL+pytesseract+Tesseract-OCR实现验证码的识别 其中PIL为Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PI ...

  2. selenium+Python3.5获取验证码

    其中PIL为Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. PIL第三方库安装 pip install PI ...

  3. Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐

    # Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...

  4. python中matplotlib绘图封装类之折线图、条状图、圆饼图

    DrawHelper.py封装类源码: import matplotlib import matplotlib.pyplot as plt import numpy as np class DrawH ...

  5. python接口自动化测试 - openpyxl封装类

    前言 为了更好的让openpyxl在工作中使用,将openpyxl的常用操作封装起来,这样不仅复用性高,而且阅读性好 直接上代码 #!/usr/bin/env python # -*- coding: ...

  6. python基础类知识~pymysql封装类

    一简介:咱们来介绍下 DBA常用的几个类 二 具体代码 #!/usr/bin/python3import pymysqlimport sysclass DBHelper: def __init__(s ...

  7. Python使用笔记27--mysql操作封装类

    1.面向过程 1 import pymysql 2 3 #面向过程 4 mysql_info = {'host':'127.0.0.1', 5 'port':3306, 6 'user':'root' ...

  8. python grammar、C/C++ Python Parsing Engine

    catalog . Python语言简介 . Python模块 . 嵌入式Python解析引擎: C++调用Python . Python 调用 C (base) . 扩展Python语法解析器功能: ...

  9. 转:python webdriver API 之 验证码问题

    对于 web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测 ...

随机推荐

  1. wechat客户端修改

    1. src/ui/adapter/FriendCardAdapter.java @Override     public View getView(int position, View conver ...

  2. Ubuntu jdk报Picked up JAVA_TOOL_OPTIONS信息解决

    下面是摘自http://www.cnblogs.com/coderbean/p/4522182.html 以下是我在网上找了好久找到的: Ubuntu jdk报Picked up JAVA_TOOL_ ...

  3. $GLOBALS['HTTP_RAW_POST_DATA'] 和$_POST的区别(转)

    ---恢复内容开始--- $_POST:通过 HTTP POST 方法传递的变量组成的数组.是自动全局变量. $GLOBALS['HTTP_RAW_POST_DATA'] :总是产生 $HTTP_RA ...

  4. 嵌入式Qt4.7.1安装详解

    嵌入式Qt 4.7.1安装移植过程详解环境:Ubuntu 12.04VMware 9.0 qt软件包:qt-everywhere-opensource-src-4.7.1.tar.gz (飞凌自带) ...

  5. 通过JSTL用表格的形式显示

    <%@ page language="java" import="java.util.*, cn.hncu.domain.*" pageEncoding= ...

  6. flex学习网站地址

    http://hacker47.iteye.com/blog/213887 http://www.cuplayer.com/player/PlayerCode/Flex/ http://bbs.9ri ...

  7. Bootstrap与tab组合,切换菜单实例

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  8. JMS—事务管理

    Spring提供了一个JmsTransactionManager用于对JMS ConnectionFactory做事务管理.这将允许JMS应用利用Spring的事务管理特性.JmsTransactio ...

  9. Bootstrap的竞争对手Zurb Foundation

    Bootstrap并不是唯一的前端开发框架,比如还有JQuery UI.HTML5 Boilerplate等等.但对于Bootstrap来说,真正的竞争对手是Zurb Foundation.Boots ...

  10. ffmpeg之YUYV转RGB ARM使用流程分析

    本例基于3.2.2 ffmpeg 一.应用调用API 二.头文件包含的API接口 对应于libswscale.so.libswscale.so.4.libswscale.so.4.2.100中 sws ...