Python httpsqs封装类
'''
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封装类的更多相关文章
- selenium识别登录验证码---基于python实现
本文主要是通过PIL+pytesseract+Tesseract-OCR实现验证码的识别 其中PIL为Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PI ...
- selenium+Python3.5获取验证码
其中PIL为Python Imaging Library,已经是Python平台事实上的图像处理标准库了.PIL功能非常强大,但API却非常简单易用. PIL第三方库安装 pip install PI ...
- Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐
# Python 实现列表与二叉树相互转换并打印二叉树封装类-详细注释+完美对齐 from binarytree import build import random # https://www.cn ...
- python中matplotlib绘图封装类之折线图、条状图、圆饼图
DrawHelper.py封装类源码: import matplotlib import matplotlib.pyplot as plt import numpy as np class DrawH ...
- python接口自动化测试 - openpyxl封装类
前言 为了更好的让openpyxl在工作中使用,将openpyxl的常用操作封装起来,这样不仅复用性高,而且阅读性好 直接上代码 #!/usr/bin/env python # -*- coding: ...
- python基础类知识~pymysql封装类
一简介:咱们来介绍下 DBA常用的几个类 二 具体代码 #!/usr/bin/python3import pymysqlimport sysclass DBHelper: def __init__(s ...
- Python使用笔记27--mysql操作封装类
1.面向过程 1 import pymysql 2 3 #面向过程 4 mysql_info = {'host':'127.0.0.1', 5 'port':3306, 6 'user':'root' ...
- python grammar、C/C++ Python Parsing Engine
catalog . Python语言简介 . Python模块 . 嵌入式Python解析引擎: C++调用Python . Python 调用 C (base) . 扩展Python语法解析器功能: ...
- 转:python webdriver API 之 验证码问题
对于 web 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测 ...
随机推荐
- (BUG已修改,最优化)安卓ListView异步加载网络图片与缓存软引用图片,线程池,只加载当前屏之说明
原文:http://blog.csdn.net/java_jh/article/details/20068915 迟点出更新的.这个还有BUG.因为软引应不给力了.2.3之后 前几天的原文有一个线程管 ...
- Android开发:TextView真正可控、不需要焦点的水平滚动--这才是真正的跑马灯
网上的TextView做跑马灯,大多都是要用到焦点,而且字数要超出滚动区域宽度才能实现滚动,使用起来十分不方便. 这里实现一种真正可控的滚动 (1)不需要焦点 (2)任意字数 (3)滚动从滚动区域右边 ...
- javascript默认中文(汉字/标点)长度均为1的解决
javascript默认中文(汉字/标点)长度均为1 与后台(java)不一致, function calculate(str) { //var str="你好,哈哈哈000111lll&q ...
- string的操作
除了顺序容器共有的操作之外,string类型还提供了一些额外的操作.这些操作中的大部分要么是提供string类和C风格字符数组之间的相互转换,要么是增加了允许我们用下标代替迭代器的版本. 构造stri ...
- select组件
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- iOS 网络编程:AFNetworking
1 简介 1.1 概念 AFNetworking网络框架并不是IOS自带的框架,而是第三方的开源框架.它是对NSURLConnection和NSURLSession API的封装,但是目前AFNetw ...
- Linux下pcapy的安装问题
在安装pcapy包的时候 cd pcapy-0.10.8/ python setup.py install 报错 error trying to exec ‘cc1plus’: execvp: No ...
- "make_path" is not exported by the File::Path modul
之前正常运行的perl脚本换了一个环境突然报 从原来的make_path 和 remove_tree改为现在的mkpath 和 rmtree就好了. File::Path version is 1.0 ...
- ffmpeg之yuv2rgb_c_24_rgb
YUV2RGBFUNC(yuv2rgb_c_24_rgb, uint8_t, ) LOADCHROMA(); PUTRGB24(dst_1, py_1, ); PUTRGB24(dst_2, py_2 ...
- .net+easyui系列--按钮
easyui提供了各种按钮样式,包括搜索.新增.保存.删除等 <a id="btn" href="#" class="easyui-linkbu ...