http_client_ssl.py 769 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. try:
  2. import usocket as _socket
  3. except:
  4. import _socket
  5. try:
  6. import ussl as ssl
  7. except:
  8. import ssl
  9. def main(use_stream=True):
  10. s = _socket.socket()
  11. ai = _socket.getaddrinfo("google.com", 443)
  12. print("Address infos:", ai)
  13. addr = ai[0][-1]
  14. print("Connect address:", addr)
  15. s.connect(addr)
  16. s = ssl.wrap_socket(s)
  17. print(s)
  18. if use_stream:
  19. # Both CPython and MicroPython SSLSocket objects support read() and
  20. # write() methods.
  21. s.write(b"GET / HTTP/1.0\r\n\r\n")
  22. print(s.read(4096))
  23. else:
  24. # MicroPython SSLSocket objects implement only stream interface, not
  25. # socket interface
  26. s.send(b"GET / HTTP/1.0\r\n\r\n")
  27. print(s.recv(4096))
  28. s.close()
  29. main()