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 应用来说,大部分的系统在用户登录时都要求用户输入验证码,验证码的类型的很多,有字母数字的,有汉字的,甚至还要用户输入一条算术题的答案的,对于系统来说使用验证码可以有效果的防止采用机器猜测 ...
随机推荐
- [IOS地图开发系类]2、位置解码CLGeocoder
接第一步的操作,获取到地址信息经纬度后,我们可以对其进行解码,解码采用的CLGeocoder这个类,使用方式如下: 1.在ViewControlelr.m文件中声明一个CLGeocoder的属性, ...
- HTTP POST发消息
业务需求:模拟TANX给DSP发消息,protobuf数据已弄好. 代码: def PostDataToDSP(self,url,postdata): headers = { #taobao文档规定 ...
- PHP class_exists 检查类是否已定义
(PHP 4, PHP 5) class_exists — 检查类是否已定义 bool class_exists ( string $class_name [, bool $autoload ] ) ...
- hdu1430魔板(BFS+康托展开)
做这题先看:http://blog.csdn.net/u010372095/article/details/9904497 Problem Description 在魔方风靡全球之后不久,Rubik先 ...
- creating normals from alpha/heightmap inside a shader
http://www.polycount.com/forum/showthread.php?t=117185 I am making some custom terrain shaders with ...
- linux ssh 中在window 传文件 下载文件 工具
centos 安装工具 yum install lrzsz
- jqgrid表格列动态加载的实现
选中几个测点名,在表格中就显示几列. 具体代码如下: function reloadGrid(postData){ $('#gridTable').jqGrid('GridUnload'); var ...
- hdu1016JAVA
import java.util.Arrays;import java.util.Scanner;public class Main { public static int kase=0,n; pub ...
- Java开发之I/O读取文件实例详解
在java开发或者android开发中,读取文件是不可避免的,以下对java开发中读取文件做了归纳和详解: 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 pa ...
- 深入理解计算机系统第二版习题解答CSAPP 2.2
填写空白项. n 2n(十进制) 2n(十六进制) 9 512 0x200 19 0x80000 16384 0x4000 0x10000 17 0x20000 32 0x20 0x80