Using HTTPS adds Transport Layer Security (TLS) to your network traffic. The advantage is an encrypted connection between your device and the server.
from network import WLAN #note that you can also use LTE import socket import ssl import time wlan = WLAN() wlan.init(mode=WLAN.STA, ssid='your ssid', auth=(WLAN.WPA2, 'your password')) print("connecting", end='') while not wlan.isconnected(): time.sleep(0.25) print(".", end='') print("connected") print(wlan.ifconfig()) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ss = ssl.wrap_socket(s) #adds TLS ss.connect(socket.getaddrinfo(host, 443)[0][-1]) httpreq = 'GET / HTTP/1.1 \r\nHOST: '+ host + '\r\nConnection: close \r\n\r\n' ss.send(httpreq) time.sleep(1) rec = ss.recv(10000) print(rec)
Basic connection using ssl.wrap_socket().
ssl.wrap_socket()
import socket import ssl s = socket.socket() ss = ssl.wrap_socket(s) ss.connect(socket.getaddrinfo('www.google.com', 443)[0][-1]) ss.se
Below is an example using certificates with the blynk cloud.
Certificate was downloaded from the blynk examples folder and placed in /flash/cert/ on the device.
/flash/cert/
import socket import ssl s = socket.socket() ss = ssl.wrap_socket(s, cert_reqs=ssl.CERT_REQUIRED, ca_certs='/flash/cert/ca.pem') ss.connect(socket.getaddrinfo('cloud.blynk.cc', 8441)[0][-1])
For more info, check the ssl module in the API reference.
ssl