WebSocket client for python. hybi13 is supported.
Project description
=================
websocket-client
=================
websocket-client module is WebSocket client for python. This provide the low level APIs for WebSocket. All APIs are the synchronous functions.
websocket-client supports only hybi-13.
License
============
- LGPL
Installation
=============
This module is tested on Python 2.7 and Python 3.x.
Type "python setup.py install" or "pip install websocket-client" to install.
.. CAUTION::
from v0.16.0, we can install by "pip install websocket-client" for python 3.
This module depend on
- six
- backports.ssl_match_hostname for Python 2.x
How about Python 3
===========================
Now, we support python 3 on single source code from version 0.14.0. Thanks, @battlemidget and @ralphbean.
HTTP Proxy
=============
Support websocket access via http proxy.
The proxy server must allow "CONNECT" method to websocket port.
Default squid setting is "ALLOWED TO CONNECT ONLY HTTPS PORT".
Current implementation of websocket-client is using "CONNECT" method via proxy.
example::
-------------
import websocket
ws = websocket.WebSocket(support_socket_io="0.9")
:
Example
=============
Low Level API example::
from websocket import create_connection
ws = create_connection("ws://echo.websocket.org/")
print "Sending 'Hello, World'..."
ws.send("Hello, World")
print "Sent"
print "Reeiving..."
result = ws.recv()
print "Received '%s'" % result
ws.close()
If you want to customize socket options, set sockopt.
sockopt example:
from websocket import create_connection
ws = create_connection("ws://echo.websocket.org/".
sockopt=((socket.IPPROTO_TCP, socket.TCP_NODELAY),) )
JavaScript websocket-like API example::
import websocket
import thread
import time
def on_message(ws, message):
print message
def on_error(ws, error):
print error
def on_close(ws):
print "### closed ###"
def on_open(ws):
def run(*args):
for i in range(3):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)
ws.close()
print "thread terminating..."
thread.start_new_thread(run, ())
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.org/",
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()
FAQ
============
How to disable ssl cert verification?
----------------------------------------
Please set sslopt to {"cert_reqs": ssl.CERT_NONE}.
WebScoketApp sample::
ws = websocket.WebSocketApp("https://echo.websocket.org")
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})
create_connection sample::
ws = websocket.create_connection("https://echo.websocket.org",
sslopt={"cert_reqs": ssl.CERT_NONE})
WebSocket sample::
ws = websocket.WebSocket(sslopt={"cert_reqs": ssl.CERT_NONE})
ws.connect("https://echo.websocket.org")
How to disable hostname verification.
----------------------------------------
Please set sslopt to {"check_hostname": False}.
(since v0.18.0)
WebScoketApp sample::
ws = websocket.WebSocketApp("https://echo.websocket.org")
ws.run_forever(sslopt={"check_hostname": False})
create_connection sample::
ws = websocket.create_connection("https://echo.websocket.org",
sslopt={"check_hostname": False})
WebSocket sample::
ws = websocket.WebSocket(sslopt={"check_hostname": False})
ws.connect("https://echo.websocket.org")
wsdump.py
============
wsdump.py is simple WebSocket test(debug) tool.
sample for echo.websocket.org::
$ wsdump.py ws://echo.websocket.org/
Press Ctrl+C to quit
> Hello, WebSocket
< Hello, WebSocket
> How are you?
< How are you?
Usage
---------
usage::
wsdump.py [-h] [-v [VERBOSE]] ws_url
WebSocket Simple Dump Tool
positional arguments:
ws_url websocket url. ex. ws://echo.websocket.org/
optional arguments:
-h, --help show this help message and exit
WebSocketApp
-v VERBOSE, --verbose VERBOSE set verbose mode. If set to 1, show opcode. If set to 2, enable to trace websocket module
example::
$ wsdump.py ws://echo.websocket.org/
$ wsdump.py ws://echo.websocket.org/ -v
$ wsdump.py ws://echo.websocket.org/ -vv
websocket-client
=================
websocket-client module is WebSocket client for python. This provide the low level APIs for WebSocket. All APIs are the synchronous functions.
websocket-client supports only hybi-13.
License
============
- LGPL
Installation
=============
This module is tested on Python 2.7 and Python 3.x.
Type "python setup.py install" or "pip install websocket-client" to install.
.. CAUTION::
from v0.16.0, we can install by "pip install websocket-client" for python 3.
This module depend on
- six
- backports.ssl_match_hostname for Python 2.x
How about Python 3
===========================
Now, we support python 3 on single source code from version 0.14.0. Thanks, @battlemidget and @ralphbean.
HTTP Proxy
=============
Support websocket access via http proxy.
The proxy server must allow "CONNECT" method to websocket port.
Default squid setting is "ALLOWED TO CONNECT ONLY HTTPS PORT".
Current implementation of websocket-client is using "CONNECT" method via proxy.
example::
-------------
import websocket
ws = websocket.WebSocket(support_socket_io="0.9")
:
Example
=============
Low Level API example::
from websocket import create_connection
ws = create_connection("ws://echo.websocket.org/")
print "Sending 'Hello, World'..."
ws.send("Hello, World")
print "Sent"
print "Reeiving..."
result = ws.recv()
print "Received '%s'" % result
ws.close()
If you want to customize socket options, set sockopt.
sockopt example:
from websocket import create_connection
ws = create_connection("ws://echo.websocket.org/".
sockopt=((socket.IPPROTO_TCP, socket.TCP_NODELAY),) )
JavaScript websocket-like API example::
import websocket
import thread
import time
def on_message(ws, message):
print message
def on_error(ws, error):
print error
def on_close(ws):
print "### closed ###"
def on_open(ws):
def run(*args):
for i in range(3):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)
ws.close()
print "thread terminating..."
thread.start_new_thread(run, ())
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.org/",
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()
FAQ
============
How to disable ssl cert verification?
----------------------------------------
Please set sslopt to {"cert_reqs": ssl.CERT_NONE}.
WebScoketApp sample::
ws = websocket.WebSocketApp("https://echo.websocket.org")
ws.run_forever(sslopt={"cert_reqs": ssl.CERT_NONE})
create_connection sample::
ws = websocket.create_connection("https://echo.websocket.org",
sslopt={"cert_reqs": ssl.CERT_NONE})
WebSocket sample::
ws = websocket.WebSocket(sslopt={"cert_reqs": ssl.CERT_NONE})
ws.connect("https://echo.websocket.org")
How to disable hostname verification.
----------------------------------------
Please set sslopt to {"check_hostname": False}.
(since v0.18.0)
WebScoketApp sample::
ws = websocket.WebSocketApp("https://echo.websocket.org")
ws.run_forever(sslopt={"check_hostname": False})
create_connection sample::
ws = websocket.create_connection("https://echo.websocket.org",
sslopt={"check_hostname": False})
WebSocket sample::
ws = websocket.WebSocket(sslopt={"check_hostname": False})
ws.connect("https://echo.websocket.org")
wsdump.py
============
wsdump.py is simple WebSocket test(debug) tool.
sample for echo.websocket.org::
$ wsdump.py ws://echo.websocket.org/
Press Ctrl+C to quit
> Hello, WebSocket
< Hello, WebSocket
> How are you?
< How are you?
Usage
---------
usage::
wsdump.py [-h] [-v [VERBOSE]] ws_url
WebSocket Simple Dump Tool
positional arguments:
ws_url websocket url. ex. ws://echo.websocket.org/
optional arguments:
-h, --help show this help message and exit
WebSocketApp
-v VERBOSE, --verbose VERBOSE set verbose mode. If set to 1, show opcode. If set to 2, enable to trace websocket module
example::
$ wsdump.py ws://echo.websocket.org/
$ wsdump.py ws://echo.websocket.org/ -v
$ wsdump.py ws://echo.websocket.org/ -vv
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
websocket-client-0.21.0.tar.gz
(192.3 kB
view details)
File details
Details for the file websocket-client-0.21.0.tar.gz
.
File metadata
- Download URL: websocket-client-0.21.0.tar.gz
- Upload date:
- Size: 192.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | de754d97c50cf50875b5314d20e29b0700e1c1323765eaf209df3999ec7b2f1a |
|
MD5 | ebaaea6a1941be7e18cd047ec5400f4b |
|
BLAKE2b-256 | f5f161e82d162dc89eaf6ffc5e0aa366b98ad990fef0d6badf832ad83d5c014b |