From 4f2d59e82fa19be143f1dec59384c3df00d4ccf0 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sat, 2 Apr 2016 23:19:03 +0300 Subject: [PATCH] examples/http_client_ssl.py: HTTPS client example. --- examples/network/http_client_ssl.py | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 examples/network/http_client_ssl.py diff --git a/examples/network/http_client_ssl.py b/examples/network/http_client_ssl.py new file mode 100644 index 0000000000..5d4d8fd1b5 --- /dev/null +++ b/examples/network/http_client_ssl.py @@ -0,0 +1,36 @@ +try: + import usocket as _socket +except: + import _socket +try: + import ussl as ssl +except: + import ssl + + +def main(use_stream=True): + s = _socket.socket() + + ai = _socket.getaddrinfo("google.com", 443) + print("Address infos:", ai) + addr = ai[0][4] + + print("Connect address:", addr) + s.connect(addr) + + s = ssl.wrap_socket(s) + print(s) + + if use_stream: + # Both CPython and MicroPython SSLSocket objects support read() and + # write() methods. + s.write(b"GET / HTTP/1.0\n\n") + print(s.read(4096)) + else: + # MicroPython SSLSocket objects implement only stream interface, not + # socket interface + s.send(b"GET / HTTP/1.0\n\n") + print(s.recv(4096)) + + +main()