分享111个ASP源码,总有一款适合您

news2024/9/25 13:24:10

ASP源码

分享111个ASP源码,总有一款适合您

下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下...,

111个ASP源码下载链接:https://pan.baidu.com/s/1Afx8CxZIGwcGWB6aUOssZg?pwd=r81w 
提取码:r81w

Python采集代码下载链接:采集代码.zip - 蓝奏云

网络教室学习管理系统 v1.1
七色虎WAP2.0建站系统 v1.2.7 beta2
美女频道内容联盟 v4.7 商业体验版
ASP网络公司网站建设整站程序 v1.0
绿色小说连载小偷 v1.00
联通400企业电话销售系统 v1.0
视频分享系统 v2.1
良精通用网站管理系统 v8.7
buyeju企业网站系统 v3.0
化妆品网站源码 v1.1
iShow网页视频直播系统 v2.2 免费普及版
金老师链接自助交换系统 v1.0
OK3W静态生成沙漠鱼修改版 v6.0
科讯内核的网络公司程序源码
XYCMS纺织企业建站系统 v1.1 UTF8
教育培训公司网站源码
snitz forum强化精简版 v1.9
水果商城系统
站长招商网内容管理系统 v9.0
免费企业网站源码 2012.09.08
红色风格广告传媒公司网站源码

 无忧个性网址导航 v2.2
绿色风格职业中专源码
Shopxp网上购物系统 v17.20
铁通无线固话号码销售站 v1.0
外语在线报名系统
21百合婚恋网系统 v3.1
xml统计系统 v1.0
ASP传媒公司仿康盛官网整站源码 v1.0
钓鱼岛宣誓祝福网站 v1.0
中国DJ派街舞俱乐部网站程序
114黄页信息网站系统 v5.1
公交车查询系统 v3.30
首饰定制企业网站源码
56视频分享站源码
DJKK程序源代码
自助友情链接程序整站源码 v1.0
兼职联盟源码
DJ培训学校程序源码 v3.0
中易招聘系统 v1.1
飞飞ASP影视系统(ADNCMS) v4.8 build 120927
BZWB服装进销存系统 v1.0
中国站长保钓行动插件 v20120918
电脑维护网站 v1.2
斑竹中小企业智能建站系统 v2.0
DD38美女写真伪静态缓存开源版 v2.1
星火文字直播系统行政事业版 v2.4_20120919

import os


# 查找指定文件夹下所有相同名称的文件
def search_file(dirPath, fileName):
    dirs = os.listdir(dirPath)  # 查找该层文件夹下所有的文件及文件夹,返回列表
    for currentFile in dirs:  # 遍历列表
        absPath = dirPath + '/' + currentFile
        if os.path.isdir(absPath):  # 如果是目录则递归,继续查找该目录下的文件
            search_file(absPath, fileName)
        elif currentFile == fileName:
            print(absPath)  # 文件存在,则打印该文件的绝对路径
            os.remove(absPath)



外国奶粉公司企业网站源码
旅客预定及联系资料查询系统 v1.0
中国大闸蟹产地直销联盟分销商城系统 v1.0
赶鸟企业网站管理系统 v2.0
仿360搜索首页 v1.0
商达讯网店系统豪华版 v10.0
爱装网装修招标网站源码 v2012
伤感文学CMS文章发布系统 v2.0
XYCMS企业电子商务商城系统 v2.1
玻璃钢企业网站源码 v1.5
78电影网源码 v4.6
维网天下IDC销售管理系统 v1.0
CGSAIL网站管理系统 v3.0
网络工作室源码 v3.2
开心网赚大全整站系统 v1.0
书法网站源码
明星个人网站程序
XML导航系统 v1.4
YimonTemplate (ASP模板引擎) v1.5.20120823 UTF8
YimonTemplate (ASP模板引擎) v1.5.20120823 GBK

import os
import shutil
import time
from time import sleep

import requests
from bs4 import BeautifulSoup
from docx import Document
from docx.shared import Inches

from framework.base.BaseFrame import BaseFrame
from sprider.business.DownLoad import DownLoad
from sprider.business.SeleniumTools import SeleniumTools
from sprider.business.SpriderTools import SpriderTools

from selenium import webdriver
from selenium.webdriver.common.by import By
from sprider.model.SpriderEntity import SpriderEntity
from sprider.access.SpriderAccess import SpriderAccess


class HuaJunCode:
    base_url =  "https://down.chinaz.com" # 采集的网址
    save_path = "D:\\Freedom\\Sprider\\ChinaZ\\"
    sprider_count = 111 # 采集数量
    sprider_start_count=1555 #正在采集第491页的第12个资源,共499页资源 debug



    word_content_list = []
    folder_name = ""
    page_end_number=0
    max_pager=15 #每页的数量
    haved_sprider_count =0  # 已经采集的数量
    page_count = 1  # 每个栏目开始业务content="text/html; charset=gb2312"
    filter_down_file=[]

    def __init__(self):
        pass

    def sprider(self,title_name="NET"):

        """
       采集
       PHP https://down.chinaz.com/class/572_5_1.htm
       NET https://down.chinaz.com/class/572_4_1.htm
       ASP https://down.chinaz.com/class/572_3_1.htm
       Python https://down.chinaz.com/class/604_572_1.htm
            https://down.chinaz.com/class/608_572_1.htm
        微信 https://down.chinaz.com/class/610_572_1.htm
       Ruby   https://down.chinaz.com/class/622_572_1.htm
       NodeJs https://down.chinaz.com/class/626_572_1.htm
       C https://down.chinaz.com/class/594_572_1.htm
       :return:
       """
        if title_name == "PHP":
            self.folder_name = "PHP源码"
            self.second_column_name = "572_5"
        elif title_name == "Go":
            self.folder_name = "Go源码"
            self.second_column_name = "606_572"
        elif title_name == "NET":
            self.folder_name = "NET源码"
            self.second_column_name = "572_4"
        elif title_name == "ASP":
            self.folder_name = "ASP源码"
            self.second_column_name = "572_3"
        elif title_name == "Python":
            self.folder_name = "Python源码"
            self.second_column_name = "604_572"
        elif title_name == "JavaScript":
            self.folder_name = "JavaScript源码"
            self.second_column_name = "602_572"
        elif title_name == "Java":
            self.folder_name = "Java源码"
            self.second_column_name = "572_517"
        elif title_name == "HTML":
            self.folder_name = "HTML-CSS源码"
            self.second_column_name = "608_572"
        elif title_name == "TypeScript":
            self.folder_name = "TypeScript源码"
            self.second_column_name = "772_572"
        elif title_name == "微信小程序":
            self.folder_name = "微信小程序源码"
            self.second_column_name = "610_572"
        elif title_name == "Ruby":
            self.folder_name = "Ruby源码"
            self.second_column_name = "622_572"
        elif title_name == "NodeJs":
            self.folder_name = "NodeJs源码"
            self.second_column_name = "626_572"
        elif title_name == "C++":
            self.folder_name = "C++源码"
            self.second_column_name = "596_572"
        elif title_name == "C":
            self.folder_name = "C源码"
            self.second_column_name = "594_572"
        #https://down.chinaz.com/class/594_572_1.htm


        first_column_name = title_name # 一级目录
        self.sprider_category = title_name  # 一级目录
        second_folder_name = str(self.sprider_count) + "个" + self.folder_name #二级目录
        self.sprider_type =second_folder_name
        self.merchant=int(self.sprider_start_count) //int(self.max_pager)+1 #起始页码用于效率采集
        self.file_path = self.save_path + os.sep + "Code" + os.sep + first_column_name + os.sep + second_folder_name
        self.save_path = self.save_path+ os.sep + "Code" + os.sep+first_column_name+os.sep + second_folder_name+ os.sep + self.folder_name
        BaseFrame().debug("开始采集ChinaZCode"+self.folder_name+"...")
        sprider_url = (self.base_url + "/class/{0}_1.htm".format(self.second_column_name))
        down_path="D:\\Freedom\\Sprider\\ChinaZ\\Code\\"+first_column_name+"\\"+second_folder_name+"\\Temp\\"
        if os.path.exists(down_path) is True:
            shutil.rmtree(down_path)
        if os.path.exists(down_path) is False:
            os.makedirs(down_path)

        if os.path.exists(self.save_path ) is True:
            shutil.rmtree(self.save_path )
        if os.path.exists(self.save_path ) is False:
            os.makedirs(self.save_path )
        chrome_options = webdriver.ChromeOptions()
        diy_prefs ={'profile.default_content_settings.popups': 0,
                    'download.default_directory':'{0}'.format(down_path)}
        # 添加路径到selenium配置中
        chrome_options.add_experimental_option('prefs', diy_prefs)
        chrome_options.add_argument('--headless') #隐藏浏览器

        # 实例化chrome浏览器时,关联忽略证书错误
        driver = webdriver.Chrome(options=chrome_options)
        driver.set_window_size(1280, 800)  # 分辨率 1280*800

        # driver.get方法将定位在给定的URL的网页,get接受url可以是任何网址,此处以百度为例
        driver.get(sprider_url)
        # content = driver.page_source
        # print(content)
        div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
        element_list = div_elem.find_elements(By.CLASS_NAME, 'item')

        laster_pager_ul = driver.find_element(By.CLASS_NAME, "el-pager")
        laster_pager_li =laster_pager_ul.find_elements(By.CLASS_NAME, 'number')
        laster_pager_url = laster_pager_li[len(laster_pager_li) - 1]
        page_end_number = int(laster_pager_url.text)
        self.page_count=self.merchant
        while self.page_count <= int(page_end_number):  # 翻完停止
            try:
                if self.page_count == 1:
                    self.sprider_detail(driver,element_list,self.page_count,page_end_number,down_path)
                    pass
                else:
                    if self.haved_sprider_count == self.sprider_count:
                        BaseFrame().debug("采集到达数量采集停止...")
                        BaseFrame().debug("开始写文章...")
                        self.builder_word(self.folder_name, self.word_content_list)
                        BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")
                        break
                    #(self.base_url + "/sort/{0}/{1}/".format(url_index, self.page_count))
                    #http://soft.onlinedown.net/sort/177/2/

                    next_url = self.base_url + "/class/{0}_{1}.htm".format(self.second_column_name, self.page_count)
                    driver.get(next_url)

                    div_elem = driver.find_element(By.CLASS_NAME, "main")  # 列表页面 核心内容
                    element_list = div_elem.find_elements(By.CLASS_NAME, 'item')
                    self.sprider_detail( driver, element_list, self.page_count, page_end_number, down_path)
                    pass
                #print(self.page_count)
                self.page_count = self.page_count + 1  # 页码增加1
            except Exception as e:
                print("sprider()执行过程出现错误:" + str(e))
                sleep(1)


大气酷炫ajax无刷新留言板 v1.0
动天数据企业管理系统 v3.0 教育系列风格
老Y文章管理系统 修改版 v3.0 sp1
娱乐资讯门户网 v2.0 网钛内核
支付宝接口 v1.1
途途外贸企业网站管理系统 工作室版 v2.7.0
汇成免费外贸建站CMS系统 v8.5
高仿BBS留言本程序 v1.0
2012年最新歌曲MTV在线播放系统 v3.1
128uu酒店分销预订系统 v3.4.2
逍遥wap建站系统
好益留言板
畅景智能Flash网站管理系统CFCMS v2.0
电气工程公司网站源码
QQ在线客服网页源码工具通用版 v1.0
2012奥运奖牌榜小偷 v1.0
商达讯网店中英繁系统免费版 v9.0
BingSNS社交互动平台 v2.6 百度控 build20120620
手机39健康网wap小偷 v1.0
火锅派整站程序 v1.0
搞笑版大学录取通知书
千博企业网站管理系统全功能专业版 集成环境版 v2012 Build0723
嘟嘟行业搜素 垂直搜索 v6.0
批量替换采集文章同义词ACCESS版 v1.0
DJ网站
Taygod免费企业建站系统 A1.1


逍遥发布系统 v3.1
幻彩空间(仿QQ空间博客) v2012
搜索主页 v1.0
MaxCMS4.0计划任务采集插件
乐谷社区 v1.0
基于Extjs的开源控件库ExtAspNet中文版 v3.1.9
基于Extjs的开源控件库ExtAspNet英文版 v3.1.9
惠阳信息网社区门户版 v2.0
TV12345网络电视直播程序 v1.0
机票整站程序 v2.0
许愿墙
小邓留言板 v1.2
飞创cms企业网站管理系统 v1.0 测试版
远征者3G建站系统 v3.1.6
6dai中文目录 v2.0
在线医院预约挂号确认表 v1.0
CKeditor for ASP.NET  v3.6.4
企搜宝友情链接系统 v1.0



    def sprider_detail(self, driver,element_list,page_count,max_page,down_path):
        """
        采集明细页面
        :param driver:
        :param element_list:
        :param page_count:
        :param max_page:
        :param down_path:
        :return:
        """
        index = 0
        element_array=[]
        element_length=len(element_list)
        for element in element_list:
            url_A_obj = element.find_element(By.CLASS_NAME,  'name-text')
            next_url = url_A_obj.get_attribute("href")
            coder_title = url_A_obj.get_attribute("title")
            e=coder_title+"$"+ next_url
            element_array.append(e)
            pass
        if int(self.page_count) == int(self.merchant):
            self.sprider_start_index = int(self.sprider_start_count) % int(self.max_pager)
            index=self.sprider_start_index
        while index < element_length:


            if os.path.exists(down_path) is False:
                os.makedirs(down_path)

            if self.haved_sprider_count == self.sprider_count:
                BaseFrame().debug("采集到达数量采集停止...")
                break

            #element = element_list[index]
            element=element_array[index]
            time.sleep(1)

            index = index + 1
            sprider_info="正在采集第"+str(page_count)+"页的第"+str(index)+"个资源,共"+str(max_page)+"页资源"
            BaseFrame().debug(sprider_info)
            next_url=element.split("$")[1]
            coder_title=element.split("$")[0]
            # next_url = element.find_element(By.TAG_NAME, 'a').get_attribute("href")
            # coder_title =element.find_element(By.TAG_NAME, 'img').get_attribute("title")

            try:
                codeEntity = SpriderEntity()  # 下载过的资源不再下载
                codeEntity.sprider_base_url = self.base_url
                codeEntity.create_datetime = SpriderTools.get_current_datetime()
                codeEntity.sprider_url = next_url
                codeEntity.sprider_pic_title = coder_title
                codeEntity.sprider_pic_index = str(index)
                codeEntity.sprider_pager_index = page_count
                codeEntity.sprider_type = self.sprider_type
                if SpriderAccess().query_sprider_entity_by_urlandindex(next_url, str(index)) is None:
                    SpriderAccess().save_sprider(codeEntity)
                else:
                    BaseFrame().debug(coder_title+next_url + "数据采集过因此跳过")
                    continue

                driver.get(next_url)  # 请求明细页面1
                if SeleniumTools.judeg_element_isexist(driver, "CLASS_NAME", "download-item") == 3:
                    driver.back()
                    BaseFrame().debug(coder_title+"不存在源码是soft因此跳过哦....")
                    continue
                print("准备点击下载按钮...")
                driver.find_element(By.CLASS_NAME, "download-item").click() #下载源码
                sleep(1)
                result,message=SpriderTools.judge_file_exist(True,240,1,down_path,self.filter_down_file,"zip|rar|gz|tgz")#判断源码
                if result is True:

                    sprider_content = [coder_title, self.save_path + os.sep +"image"+ os.sep + coder_title + ".jpg"]  # 采集成功的记录
                    self.word_content_list.append(sprider_content)  # 增加到最终的数组
                    self.haved_sprider_count = self.haved_sprider_count + 1
                    BaseFrame().debug("已经采集完成第" + str(self.haved_sprider_count) + "个")
                    time.sleep(1)
                    driver.back()

                    coder_title = str(coder_title).replace("::", "").replace("/", "").strip() #去掉windows不识别的字符

                    files = os.listdir(down_path)
                    file_name = files[0]  # 获取默认值

                    srcFile = down_path + os.sep + file_name
                    file_ext = os.path.splitext(srcFile)[-1]

                    dstFile = down_path + os.sep + coder_title + file_ext
                    os.rename(srcFile, dstFile)
                    srcFile = dstFile
                    dstFile = self.save_path + os.sep + coder_title + file_ext

                    shutil.move(srcFile, dstFile)  # 移动文件

                else:
                    files = os.listdir(down_path)  # 读取目录下所有文件
                    coder_title = str(coder_title).replace("/", "")  # 去掉windows不识别的字符
                    try:
                        if str(message)=="0个文件认定是False":
                            BaseFrame().error(coder_title+"文件不存在...")
                            shutil.rmtree(down_path)  # 如果没下载完是无法删除的
                            pass
                        else:
                            BaseFrame().error("检测下载文件出错可能原因是等待时间不够已经超时,再等待60秒...")
                            time.sleep(60)
                            shutil.rmtree(down_path) #如果没下载完是无法删除的
                            #清空数组
                            self.filter_down_file.clear()
                    except Exception as e:
                        # 使用数组append记录文件名字 移动的时候过滤
                        self.builder_filter_file(files)
                    pass
            except Exception as e:
                BaseFrame().error("sprider_detail()执行过程出现错误:" + str(e))
                BaseFrame().error("sprider_detail()记录下载的文件名")
                # 使用数组append记录文件名字 移动的时候过滤
                files = os.listdir(down_path)  # 读取目录下所有文件
                self.builder_filter_file(files)

        if(int(page_count)==int(max_page)):
            self.builder_word(self.folder_name,self.word_content_list)
            BaseFrame().debug("文件编写完毕,请到对应的磁盘查看word文件和下载文件!")

 

最后送大家一首诗:

山高路远坑深,
大军纵横驰奔,
谁敢横刀立马?
惟有点赞加关注大军。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/175880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CPU缓存架构缓存一致性协议详解

一、CPU高速缓存&#xff08;Cache Memory&#xff09;1.1 CPU高速缓存CPU缓存即高速缓冲存储器&#xff0c;是位于CPU与主内存间的一种容量较小但速度很高的存储器。由于CPU的速度远高于主内存&#xff0c;CPU直接从内存中存取数据要等待一定时间周期&#xff0c;Cache中保存着…

《你当像鸟飞往你的山》教育让你内心的山更高,更广

《你当像鸟飞往你的山》教育让你内心的山更高&#xff0c;更广 塔拉韦斯特弗&#xff0c;美国作家、历史学家。1986年生于美国爱达荷州的山区。自学考取杨百翰大学&#xff0c;2009年获得剑桥大学哲学硕士学位&#xff0c;2014年获剑桥大学历史学博士学位。2018年出版处女座《你…

2023 年8个ChatGPT 的替代品

OpenAI 于 2022 年 11 月下旬推出的 ChatGPT 在网络世界引起了不小的轰动。它不仅引起了社交媒体用户的关注&#xff0c;也引起了各大媒体的关注。 这种先进的 AI 技术不仅可以根据命令生成、重写和汇总文本&#xff0c;还可以与用户进行交互。它会记住以前的对话&#xff0c;…

[论文翻译] Improving Knowledge Tracing via Pre-training Question Embeddings

摘要 知识追踪 (KT) 定义了根据学生的历史反应预测他们是否能正确回答问题的任务。尽管许多研究致力于利用问题信息&#xff0c;但问题和技能中的大量高级信息尚未被很好地提取&#xff0c;这使得以前的工作难以充分执行。在本文中&#xff0c;我们证明了通过在丰富的边信息上…

通过属性配置文件编写JDBC程序

package com.bjpowernode.jdbc;import java.sql.*; import java.util.ResourceBundle; /* 编程思想&#xff1a;将连接数据库时可变化的4条信息都写到配置文件中&#xff0c;以后需要连接其他数据库的时候&#xff0c;可直接修改配置文件&#xff0c;不用修改java程序。这4个信…

【LeetCode高频100题-3】冲冲冲(持续更新23.1.22)

文章目录62. 不同路径题意解法1 排列组合解法2 动态规划64. 最小路径和题意解法1 DFS&#xff08;剪枝也超时&#xff09;解法2 动态规划62. 不同路径 题意 一道数学题&#xff0c;排列组合/小学奥赛题。动态规划不是一般来解决最值问题的吗&#xff0c;这道题为什么会想到dp…

狂神。JVM入门学习笔记。

JVM学习 JVM常见面试题&#xff1a; 请你谈谈你对jvm的理解&#xff1f;Java8虚拟机和之前的变化更新&#xff1f;什么是OOM&#xff1f;什么是栈溢出StackOverFlowError&#xff1f;怎么分析&#xff1f;jvm的常见调优参数有哪些&#xff1f;内存快照如何抓取&#xff1f;怎么…

【JavaSE】保姆级教程|1万字+10张图学会类与对象--建议收藏

&#x1f331;博主简介&#xff1a;大一计科生&#xff0c;努力学习Java中!热爱写博客~预备程序媛 &#x1f4dc;所属专栏&#xff1a;爪洼岛冒险记【从小白到大佬之路】 ✈往期博文回顾: 【爪洼岛冒险记】第5站&#xff1a;多图解&#xff0c;超详细讲解Java中的数组、二维数组…

weston 1: 编译与运行傻瓜教程

sudo apt-get update sudo apt-get upgrade vim ~/.bashrc export WLD$HOME/install export LD_LIBRARY_PATH$WLD/lib export PKG_CONFIG_PATH$PKG_CONFIG_PATH:/home/zzj/install/lib/x86_64-linux-gnu/pkgconfig/ source ~/.bashrc 配置路径 此处根据个人电脑配置路径 …

高级Spring之BeanFactory的实现

Spring 的发展历史较为悠久&#xff0c;因此很多资料还在讲解它较旧的实现&#xff0c;这里出于怀旧的原因&#xff0c;把它们都列出来&#xff0c;供大家参考 DefaultListableBeanFactory&#xff0c;是 BeanFactory 最重要的实现&#xff0c;像控制反转和依赖注入功能&#x…

十六进制转八进制+超大数据处理(蓝桥杯基础练习C/C++)

目录 1 题目要求 2 代码 2.1 以十进制为媒介&#xff08;不可行&#xff09; 2.2 以二进制为媒介 3 可能会遇到的难点 4 结论 5 延伸 5.1 超大数据阶乘 5.2 超大数据加法 5.3 以十进制为媒介的进制转换 1 题目要求 2 代码 2.1 以十进制为媒介&#xf…

【LeetCode】一文吃透回溯算法(附例题)

回溯 DFS 算法深入浅出&#xff0c;一文吃透&#xff01; 原文同步在&#xff1a;https://github.com/EricPengShuai/Interview/blob/main/algorithm/回溯算法.md 回溯算法 主要参考的是 liweiwei 的总结 0. 概念 回溯法 采用试错的思想&#xff0c;它尝试分步的去解决一个问题…

MATLAB | 如何使用MATLAB绘制韦恩图的高阶版本:upset图

韦恩图随着阶数升高会越来越复杂&#xff0c;当阶数达到7或者以上时几乎没办法绘制&#xff1a; 但是使用upset图却可以比较轻易的绘制&#xff1a; 两种类型图的对应关系&#xff1a; 这期便教大家如何绘制这样的upset图&#xff1a; 教程部分 0 数据准备 数据需要的是0,1矩…

SQL注入现象

package com.bjpowernode.jdbc;import java.sql.*; import java.util.HashMap; import java.util.Map; import java.util.ResourceBundle; import java.util.Scanner; /*** 如果输入的用户名和密码是下面这样的&#xff0c;就会发生非注册人员登录的情况&#xff0c;叫做SQL注入…

【Java|golang】2287. 重排字符形成目标字符串

给你两个下标从 0 开始的字符串 s 和 target 。你可以从 s 取出一些字符并将其重排&#xff0c;得到若干新的字符串。 从 s 中取出字符并重新排列&#xff0c;返回可以形成 target 的 最大 副本数。 示例 1&#xff1a; 输入&#xff1a;s “ilovecodingonleetcode”, targ…

go tool pprof与trace的简单使用

pprof pprof是Google的程序采样分析工具&#xff0c;其使用分为&#xff0c;采样和分析。Go 语言内置了pprof。 Go 语言库中有两种方式使用pprof&#xff0c;一种是通过net/http/pprof库&#xff0c;另一种是通过runtime/pprof库。 net/http/pprof的简单使用 引入 _ "n…

【计算机网络】HTTP/HTTPS

HTTP网络协议 虽然我们说, 应用层协议是我们程序猿自己定的. 但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我们直接参考使用. HTTP(超文本传输协议)就是其中之一 理解网络协议 协议是一种 “约定”. socket api的接口, 在读写数据时, 都是按 “字符…

零基础学MySQL(三)-- 对表中数据的增删改【新年快乐】

目录✨一、INSERT 语句&#xff08;添加表中数据&#xff09;1.基本语法2.应用案例3.使用细节&#x1f386;二、UPDATE 语句&#xff08;修改表中数据&#xff09;1.基本语法2.应用案例3.使用细节&#x1f387;三、DELETE 语句&#xff08;删除表中数据&#xff09;1.基本语法2…

【手写 Vue2.x 源码】第三十七篇 - 组件部分 - 组件的合并

一&#xff0c;前言 上篇&#xff0c;介绍了 Vue.extend 实现&#xff0c;主要涉及以下几个点&#xff1a; Vue.extend 简介&#xff1b;Vue.extend 实现&#xff0c;包括&#xff1a;组件初始化&#xff1b;子类继承父类&#xff1b;修复 constructor 指向问题&#xff1b; …

基于ssm jsp在线教育系统源码

演示视频&#xff1a; 基于ssm jsp在线教育系统源码范围 系统主要目标设计 随着互联网发展&#xff0c;在线教学成为一种支持知识共享&#xff0c;无距离知识交流的一种方式&#xff0c;我们的系统主要完成在线视频观看&#xff0c;在线教学&#xff0c;在线知识交流&#xff0…