wsclient.py 828 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/python3 -u
  2. import argparse
  3. import ssl
  4. import websocket
  5. def get_parser():
  6. p = argparse.ArgumentParser()
  7. p.add_argument(
  8. "-k",
  9. "--no-ssl-verify",
  10. action="store_false",
  11. default=True,
  12. dest="ssl_verify",
  13. help="Disable SSL verify",
  14. )
  15. p.add_argument(
  16. "--trace", action="store_true", default=False, help="Extra debugging"
  17. )
  18. p.add_argument("url")
  19. return p
  20. def on_message(wsapp, msg):
  21. print(msg)
  22. def main():
  23. args = get_parser().parse_args()
  24. websocket.enableTrace(args.trace)
  25. wsapp = websocket.WebSocketApp(args.url, on_message=on_message)
  26. run_opts = {}
  27. if not args.ssl_verify:
  28. run_opts = {"sslopt": {"cert_reqs": ssl.CERT_NONE}}
  29. wsapp.run_forever(**run_opts)
  30. if __name__ == "__main__":
  31. main()