Python代码中执行curl命令查询couchbase数据

摘要:
最近,在优化脚本时,我发现有必要提前执行curl命令。事实上,它可以通过HTTPLibrary请求方法在Python中实现。例如,要执行的curl命令是curl v'http://172.17.9.128:8091/pools/default/buckets/meta3/docs/8024028328'-u“XX:XX”直接在Python中请求它查询接口defGetMe

最近在优化脚本时,发现要提前执行一段curl命令才行,实际在python中可以通过HTTP Library中requests方法就能实现,如

要执行的curl命令为

curl -v 'http://172.17.9.128:8091/pools/default/buckets/meta3/docs/8024028328' -u "XX:XX"

  Python代码中执行curl命令查询couchbase数据第1张

 在Python中直接对它进行请求就可以了

查询接口

def GetMetaData2(cb_url,uid):
    #"通过CB接口获取uid对应的离线消息表"
    

    meta = 'meta'
    bucket_num = uid%5
    bucket_name = meta + str(bucket_num)
    bucket_passwd = str(123)
    url = cb_url + bucket_name + "/docs" +'/'+ str(uid)
    password_mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm()
    password_mgr.add_password(None, url, user=bucket_name,passwd=bucket_passwd)
    handler = urllib.request.HTTPBasicAuthHandler(password_mgr)
    opener = urllib.request.build_opener(handler)
    urllib.request.install_opener(opener)
    f = urllib.request.urlopen(url)
    res = f.read()
    print("url:{0},response:{1}".format(url, res))
    return f.getcode(), res  

 得到的结果

url:http://172.17.9.128:8091/pools/default/buckets/meta3/docs/8024028328,response:b'{"meta":{"id":"8024028328","rev":"4667-1677ce237da5000060812e5400000000","expiration":1619078740,"flags":0},"json":{"appkey":"c73fb613f8ef2a5c70396818","ttl":1619078740,"smsgs":{"num":5,"max_count":5,"58546795155930667":{"data_msgtype":2,"push_type":8,"is_vip":1,"ctime":1618988908,"ttl":1619075307,"stime":1618988908},"58546795155930668":{"data_msgtype":2,"push_type":8,"is_vip":1,"ctime":1618988911,"ttl":1619075311,"stime":1618989239},"58546795155930682":{"data_msgtype":2,"push_type":8,"is_vip":1,"ctime":1618988914,"ttl":1619075313,"stime":1618989240},"58546795155930672":{"data_msgtype":2,"push_type":8,"is_vip":1,"ctime":1618988915,"ttl":1619075315,"stime":1618989240},"58546795155930678":{"data_msgtype":2,"push_type":8,"is_vip":1,"ctime":1618988917,"ttl":1619075317,"stime":1618989240}}}}'

 删除接口使用delete就行

def Delete_uid_metaall():
    resp = requests.delete("http://172.17.9.128:8091/pools/default/buckets/meta3/docs/8024028328", auth=HTTPBasicAuth('XXX', 'XXX'))
    print(resp)

  Python代码中执行curl命令查询couchbase数据第2张

 在查询就没有数据了

Python代码中执行curl命令查询couchbase数据第3张

免责声明:文章转载自《Python代码中执行curl命令查询couchbase数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python机器学习(十四)Logistic回归算法原理与代码实现小程序框架之视图层 View下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python使用grequests并发发送请求

目录 前言 grequests简单使用 grequests和requests性能对比 异常处理 前言 requests是Python发送接口请求非常好用的一个三方库,由K神编写,简单,方便上手快。但是requests发送请求是串行的,即阻塞的。发送完一条请求才能发送另一条请求。 为了提升测试效率,一般我们需要并行发送请求。这里可以使用多线程,或者...

《Python》并发编程

手工操作 —— 穿孔卡片       1946年第一台计算机诞生--20世纪50年代中期,计算机工作还在采用手工操作方式。此时还没有操作系统的概念。             程序员将对应于程序和数据的已穿孔的纸带(或卡片)装入输入机,然后启动输入机把程序和数据输入计算机内存,接着通过控制台开关启动程序针对数据运行;计算完毕,打印机输出计算结果;用户取走结果...

Python Web 开发的十个框架【转载】

Python 是一门动态、面向对象语言。其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性。除了语言本身的设计目的之外,Python标准 库也是值得大家称赞的,Python甚至还自带服务器。 其它方面,Python拥有足够多的免费数据函数库、免费的Web网页模板系统、还有与Web服务 器进行交互的库、这些都可以设计到你的Web应用程序...

Anaconda CUDA9.1.83对应的pytorch安装,不同版本的pytorch下载

CUDA版本是 9.1.83,python版本3.6.5 win10 使用如下语句可以安装cu91版本的pytorchpip3 install http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl 然而下载torchvision会使用之前缓存中的torchvi...

Python,environ解惑

最近又遇到了对环境变量读取的问题,以前的学习很快会忘记~ 还是写篇博客稍微记录下比较好 首先我们都应该知道在平常的开发中我们经常会配置一些系统环境变量。 不论是windows系统或者是linux系统,比如: # Windows set test=123 # Linux export test=123 再而我们在进行web开发的时候也会遇到各种,变量的控...

python多线程下载网页图片并保存至特定目录

#!python3 #multidownloadXkcd.py - Download XKCD comics using multiple threads. import requests import bs4 import os import threading # os.mkdir('xkcd', exist_ok=True) # sto...