利用 Python 的 socket 发送 HTTP(S) 请求方法示例
在 Python 中,我们可以使用 socket 模块来发送 HTTP(S) 请求。以下是利用 Python 的 socket 发送 HTTP(S) 请求方法示例的详细介绍。
发送 HTTP 请求示例
以下是一个发送 HTTP 请求的示例:
import socket
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect(('www.example.com', 80))
# 发送 HTTP 请求
request = 'GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n'
s.send(request.encode())
# 接收响应
response = s.recv(1024)
print(response.decode())
# 关闭连接
s.close()
在上面的示例中,我们使用 socket 模块创建了一个 socket 对象,并连接到了 www.example.com 的 80 端口。然后发送了一个 HTTP GET 请求,并接收了响应。最后关闭了连接。
发送 HTTPS 请求示例
以下是一个发送 HTTPS 请求的示例:
import socket
import ssl
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect(('www.example.com', 443))
# 创建 SSL 连接
context = ssl.create_default_context()
s = context.wrap_socket(s, server_hostname='www.example.com')
# 发送 HTTPS 请求
request = 'GET / HTTP/1.1\r\nHost: www.example.com\r\n\r\n'
s.send(request.encode())
# 接收响应
response = s.recv(1024)
print(response.decode())
# 关闭连接
s.close()
在上面的示例中,我们使用 socket 模块创建了一个 socket 对象,并连接到了 www.example.com 的 443 端口。然后创建了一个 SSL 连接,并发送了一个 HTTPS GET 请求,并接收了响应。最后关闭了连接。
以上是利用 Python 的 socket 发送 HTTP(S) 请求方法示例的详细介绍,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:利用python的socket发送http(s)请求方法示例 - Python技术站