diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-02 23:19:03 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-04-02 23:19:03 +0300 |
commit | 4f2d59e82fa19be143f1dec59384c3df00d4ccf0 (patch) | |
tree | 81f1fc4ccad39fa473215f00618cabee4bd3d1bb /examples/network | |
parent | ec5f8db49de83d131a8507caba3681e224b11988 (diff) | |
download | micropython-4f2d59e82fa19be143f1dec59384c3df00d4ccf0.tar.gz micropython-4f2d59e82fa19be143f1dec59384c3df00d4ccf0.zip |
examples/http_client_ssl.py: HTTPS client example.
Diffstat (limited to 'examples/network')
-rw-r--r-- | examples/network/http_client_ssl.py | 36 |
1 files changed, 36 insertions, 0 deletions
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() |