wsclient.py 881 B

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