用于与HappyPanda X服务器通信的客户端库

happypandax-client的Python项目详细描述


HappyPandax客户端

< Buff行情>

用于与服务器通信的python客户端库

安装

使用pip安装和更新

$ pip3 install happypandax-client

示例

快起来跑起来:

importhappypandax_clientashpxclientfrompprintimportpprintc=hpxclient.Client("my-client")c.connect(host="localhost",port=7007)c.handshake(user=None,password=None)d=c.send([{"fname":"get_version"}])pprint(d)

API

客户端(name,host="localhost",port=7007,session\u id=",ssl\u context=none,timeout=60)–客户端实例

用于与HappyPanda X服务器通信的客户端。

  • 名称:客户名称
  • 主机:HPX服务器主机
  • 端口:HPX服务器主机
  • 会话标识:如果提供,这将是消息中使用的会话标识
  • ssl上下文:请参见ssl.create_default_context
  • 超时:请参见

client.host(属性)str

设置或返回HPX服务器主机

client.port(属性)–int

设置或返回HPX服务器端口

客户接受(财产)布尔

此客户端是否经过身份验证(此值仅在连接后可用)

client.version(属性)

从HPX服务器返回的版本消息(此值仅在连接后可用)

client.guest允许(属性)–bool

是否允许来宾访问已连接的HPX服务器(此值仅在连接后可用)

client.ready()–布尔

此客户端是否准备好与HPX服务器交换消息

client.alive()–布尔

连接是否仍处于活动状态

client.connect(self,host=none,port=none)–bool

连接到HPX服务器

  • 主机:hpx服务器主机,如果设置为则将使用实例化时提供的主机
  • 端口:hpx服务器端口,如果设置为则将使用实例化时提供的端口

client.handshake(self,user=none,password=none,ignore\u err=false,\u data={})–bool

与HPX服务器握手

  • 用户:用户名
  • 密码:密码
  • 忽略错误:不要引发任何错误

client.request握手(self,user=false,password=false,ignore\u err=false)–bool

基本上是重新登录

  • 用户:用户名,如果设置为将使用以前提供的用户名
  • 密码:密码,如果设置为将使用以前提供的密码
  • 忽略错误:不要引发任何错误

client.send"字节(self,data,raise"on"u auth=true)"字节

将bytedata发送到服务器。从服务器接收bytedata。

  • 数据:发送到服务器的字节数据
  • raise_on_auth:如果客户端未通过身份验证,则引发错误

client.send_raw(self,data,raise_on_auth=true,encoding='utf-8')–dict

将JSON兼容的dict发送到服务器。从服务器接收JSON兼容。

请注意,此方法不会向消息中添加任何内容,并希望您自己添加名称和会话。请参见"Finalize"(完成)功能。

  • 数据:要发送到服务器的数据,这是一个dict
  • raise_on_auth:如果客户端未通过身份验证,则引发错误
  • 编码:字节编码,不应该有理由更改此项

client.send(self,data,raise_on_auth=true,encoding='utf-8')–dict

类似于client.send_raw,但为了方便起见,此方法会将您的消息包装到hpx期望的所需消息结构中,并自动设置会话和名称:

final_msg={'session':client.session_id,'name':client.name,'data':data,# <--- your message is put here}

  • 数据:要发送到服务器的数据,这通常是一个dict列表
  • raise_on_auth:如果客户端未通过身份验证,则引发错误
  • 编码:字节编码,不应该有理由更改此项

client.close()无

关闭与服务器的连接。请注意,关闭连接后将无法再次连接。

完成(名称、数据、会话id=)–dict

一个帮助函数,它将像这样包装您的消息:

msg={'session':session_id,'name':name,'data':data,# <--- your message is put here}

  • 名称:客户名称
  • 数据:要发送到服务器的数据,这通常是一个dict列表
  • 会话id:会话id

这些都是客户端可以引发的异常:

clienterro(异常)

基本客户端异常,所有客户端异常都将由此派生

连接错误(clienterror,连接错误)

服务器连接错误

服务器断开连接错误(连接错误,连接错误)

服务器已断开连接

验证错误(clienterror)

验证基错误

身份验证要求错误(身份验证错误)

验证错误的凭据错误(autherror)

授权凭据(autherror)

jsonparseerror(clienterror)

额外

使用不同的json库

它必须支持作为标准jsonmodule

import happypandax_client as hpxclient
import ujson
hpxclient.client.json = ujson

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Android Studio:我的短信应用程序不是默认短信应用程序的选项之一   java处理字符串问题   java为什么我的程序打印“null”而不是字符串?   java为什么要创建一个无限循环?   java循环在一段时间后将布尔值更改为false?   java Android Rest Api Post 400错误请求   java调用另一个方法以获取resultset并正确关闭连接?   java我想在2d数组中添加一行   Java:我需要从outputstream中获取字节数组   C语言中Java元注释的等价物#   java如何在从web下载图像时保持原始图像的dpi?   java中基于输入值的spring boot动态值   java从请求中获取主机名   java可以复制Swing代码并在intelliJ中的designer中查看它吗   spring如何使用java配置多个ldap   安卓如何在Java中使用具有多个类似参数的JSON请求/响应循环?   java LIbGDX如何在语言更改时翻译所有文本?