Example: 50-Arduino-Boards/Portenta-H7/53-Ethernet/http_client_ssl.py

# 本作品采用MIT许可证授权。
# 版权所有 (c) 2013-2023 OpenMV LLC。保留所有权利。
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# 以太网局域网HTTP客户端示例。
import network
import socket
import ssl

PORT = 443
HOST = "www.google.com"

lan = network.LAN()
lan.active(True)
lan.ifconfig("dhcp")

# 我们现在应该通过DHCP获得一个有效的IP地址
print(lan.ifconfig())

# 通过DNS获取地址信息
addr = socket.getaddrinfo(HOST, PORT)[0][4]
print(addr)

# 创建一个新的套接字并连接到地址
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(addr)

# 设置超时
client.settimeout(3.0)
client = ssl.wrap_socket(client, server_hostname=HOST)

# 发送HTTP请求并接收响应
request = "GET / HTTP/1.1\r\n"
request += "HOST: %s\r\n"
request += "User-Agent: Mozilla/5.0\r\n"
request += "Connection: keep-alive\r\n\r\n"
# 如果需要,请添加更多头部信息。
client.write(request % (HOST) + "\r\n")

response = client.read(1024)
for l in response.split(b"\r\n"):
    print(l.decode())

# 关闭套接字
client.close()

results matching ""

    No results matching ""