网站首页 > 精选文章 正文
python原始套接字socket下载https网页文件到txt
import socket
import ssl
def download_https_webpage(url, output_file):
try:
# 解析 URL
if url.startswith("https://"):
url = url[8:]
host = url.split("/")[0]
path = "/" + "/".join(url.split("/")[1:])
# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取主机的 IP 地址
ip = socket.gethostbyname(host)
# 使用 ssl 模块将 socket 包装为安全连接
context = ssl.create_default_context()
client_socket = context.wrap_socket(client_socket, server_hostname=host)
# 连接到服务器
client_socket.connect((ip, 443))
# 构建 HTTP 请求
request = f"GET {path} HTTP/1.1\r\nHost: {host}\r\nConnection: close\r\n\r\n"
client_socket.sendall(request.encode())
# 接收响应
response = b""
while True:
data = client_socket.recv(4096)
if not data:
break
response += data
# 关闭 socket
client_socket.close()
# 分离 HTTP 头部和内容
header, content = response.split(b"\r\n\r\n", 1)
# 保存内容到文件
with open(output_file, "wb") as file:
file.write(content)
print(f"网页内容已成功保存到 {output_file}")
except Exception as e:
print(f"发生错误: {e}")
if __name__ == "__main__":
url = "https://www.5a8.com" # 替换为你要下载的网页 URL
output_file = "www5a8com.txt"
download_https_webpage(url, output_file)
运行结果
D:\code\python\get>python getsocketssl.py
网页内容已成功保存到 www5a8com.txt
- 上一篇: 应用层协议HTTP和HTTPS,一篇文章学会
- 下一篇: 快速将网站从HTTP升级到HTTPS教程
猜你喜欢
- 2025-05-08 jQuery文件下载方法及引入HTML语法
- 2025-05-08 python编程实践:下载文件模块wget的使用
- 2025-05-08 快速将网站从HTTP升级到HTTPS教程
- 2025-05-08 应用层协议HTTP和HTTPS,一篇文章学会
- 2025-05-08 百度网盘与360云盘哪个好(百度网盘与360网盘的区别)
- 2025-05-08 SPRINGBOOT 实现大文件上传下载、分片、断点续传教程
- 2025-05-08 SPRING BOOT实现文件上传和下载(spring boot 文件上传下载)
- 2025-05-08 YouTube应用下载全攻略:安卓、iOS及视频下载指南
- 2025-05-08 Burp Suite显示HTTP消息中的中文字符设置(附字体下载)
- 2025-05-08 详解HTTP协议基本结构(http协议的概念及作用)
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)