本公开实施例公开了网络请求处理方法、装置、设备及存储介质。该方法包括:在预设应用程序中启动基于本地套接字服务的域名服务器代理,检测到预设应用程序调用预设连接函数时,对预设连接函数进行获取,并将其中的目的文件路径替换为域名服务器代理对应的目标文件路径,以建立预设应用程序与域名服务器代理之间的连接,其中,目标文件路径预先编写于预设应用程序中,通过域名服务器代理接收预设应用程序发送的网络请求,并对网络请求进行域名解析,根据域名解析结果确定网络请求的第一处理方式。通过采用上述技术方案,在应用程序内部实现域名服务器代理,从域名解析开始接管所有网络请求,有利于对网络流量进行全面检测和控制,避免出现遗漏。避免出现遗漏。避免出现遗漏。
【技术实现步骤摘要】
网络请求处理方法、装置、设备及存储介质
[0001]本公开实施例涉及计算机
,尤其涉及网络请求处理方法、装置、设备及存储介质。
技术介绍
[0002]随着互联网技术的快速发展,许多应用程序都具备联网功能。
[0003]目前,应用程序进行网络请求的方式有很多,例如可以使用系统套接字(Socket)、使用第三方库或者直接使用系统底层网络接口等。网络请求方式的多样化使得在需要对网络流量进行控制等相关处理时,难以覆盖全部的网络请求。
技术实现思路
[0004]本公开实施例提供了网络请求处理方法、装置、存储介质及设备,可以优化现有的网络请求处理方案。
[0005]第一方面,本公开实施例提供了一种网络请求处理方法,包括:
[0006]在预设应用程序中启动基于本地套接字服务的域名服务器代理;
[0007]检测到所述预设应用程序调用预设连接函数时,对所述预设连接函数进行获取,并将所述预设连接函数中的目的文件路径替换为所述域名服务器代理对应的目标文件路径,以建立所述预设应用程序与所述域名服务器代理之间的连接,其中,所述目标文件路径预先编写于所述预设应用程序中;
[0008]通过所述域名服务器代理接收所述预设应用程序发送的网络请求,并对所述网络请求进行域名解析,根据域名解析结果确定所述网络请求的第一处理方式。
[0009]第二方面,本公开实施例提供了一种网络请求处理装置,包括:
[0010]域名服务器代理启动模块,在预设应用程序中启动基于本地套接字服务的域名服务器代理;
[0011]连接模块,用于检测到所述预设应用程序调用预设连接函数时,对所述预设连接函数进行获取,并将所述预设连接函数中的目的文件路径替换为所述域名服务器代理对应的目标文件路径,以建立所述预设应用程序与所述域名服务器代理之间的连接,其中,所述目标文件路径预先编写于所述预设应用程序中;
[0012]处理模块,用于通过所述域名服务器代理接收所述预设应用程序发送的网络请求,并对所述网络请求进行域名解析,根据域名解析结果确定所述网络请求的第一处理方式。
[0013]第三方面,本公开实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本公开实施例提供的网络请求处理方法。
[0014]第四方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开实施例提供的网络请求处理方法。
[0015]本公开实施例中提供的网络请求处理方案,在预设应用程序中启动基于本地套接字服务的域名服务器代理,检测到预设应用程序调用预设连接函数时,对预设连接函数进行获取,并将预设连接函数中的目的文件路径替换为域名服务器代理对应的目标文件路径,以建立预设应用程序与域名服务器代理之间的连接,其中,目标文件路径预先编写于预设应用程序中,通过域名服务器代理接收预设应用程序发送的网络请求,并对网络请求进行域名解析,根据域名解析结果确定网络请求的第一处理方式。通过采用上述技术方案,可以在应用程序内部实现自定义的域名服务器代理,并从域名解析阶段开始接管所有网络请求,有利于对网络流量进行全面检测和控制,避免出现遗漏。
附图说明
[0016]图1为本公开实施例提供的一种网络请求处理方法的流程示意图;
[0017]图2为本公开实施例提供的另一种网络请求处理方法的流程示意图;
[0018]图3为本公开实施例提供的一种网络请求处理方法的原理示意图;
[0019]图4为本公开实施例提供的一种网络请求处理装置的结构框图;
[0020]图5为本公开实施例提供的一种电子设备的结构框图。
具体实施方式
[0021]下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0022]应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
[0023]本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
[0024]需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
[0025]需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
[0026]本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
[0027]下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
[0028]图1本公开实施例提供的一种网络请求处理方法的流程示意图,该方法可应用于预设应用程序,可以由网络请求处理装置执行,其中该装置可由软件和/或硬件实现,一般可集成在电子设备中。所述电子设备可以为手机、智能手表、平板电脑以及个人数字助理等
移动设备;也可为台式计算机等其他设备。
[0029]如图1所示,该方法包括:
[0030]步骤101、在预设应用程序中启动基于本地套接字服务的域名服务器代理。
[0031]示例性的,预设应用程序可以是任意的具备网络访问功能的应用程序。预设应用程序装载于操作系统中,该操作系统的具体类型不做限定,例如可以包括尤内克斯(Unix)、林纳斯(Linux)、苹果(iOS、macOS或OS X)以及安卓(Android)等,为了便于说明,下文将以安卓为例。
[0032]示例性的,应用程序请求网络的第一步是对域名进行解析,所有的网络请求都会经历这一步。在操作系统网络框架中对于域名解析一般采用客户端和服务器(Client
‑
Server,C/S)结构。以安卓为例,域名解析过程中的客户端(可记为域名客户端)为NetdClient,该客户端会加载到应用程序进程中,服务端(相当于下文中的真实域名服务器)为NetdServer,应用程序通过套接字(socket)调用NetdClient,NetdClient通过Unix域套接字连接到NetdServer,NetdSe本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种网络请求处理方法,其特征在于,包括:在预设应用程序中启动基于本地套接字服务的域名服务器代理;检测到所述预设应用程序调用预设连接函数时,对所述预设连接函数进行获取,并将所述预设连接函数中的目的文件路径替换为所述域名服务器代理对应的目标文件路径,以建立所述预设应用程序与所述域名服务器代理之间的连接,其中,所述目标文件路径预先编写于所述预设应用程序中;通过所述域名服务器代理接收所述预设应用程序发送的网络请求,并对所述网络请求进行域名解析,根据域名解析结果确定所述网络请求的第一处理方式。2.根据权利要求1所述的方法,其特征在于,在所述根据域名解析结果确定所述网络请求的第一处理方式之后,还包括:若所述第一处理方式包括转发,则通过所述域名服务器代理根据所述目的文件路径将所述网络请求转发至对应的真实域名服务器。3.根据权利要求1所述的方法,其特征在于,其特征在于,在所述根据域名解析结果确定所述网络请求的第一处理方式之后,还包括:若所述第一处理方式包括获取或丢弃,则禁止将所述网络请求转发至对应的真实域名服务器。4.根据权利要求2所述的方法,其特征在于,在所述通过所述域名服务器代理根据所述目的文件路径将所述网络请求转发至对应的真实域名服务器之后,还包括:通过所述域名服务器代理接收所述真实域名服务器返回的响应数据,对所述响应数据进行解析,根据解析结果确定所述响应数据的第二处理方式;若所述第二处理方式包括转发,则通过所述域名服务器代理将所述响应数据转发至所述预设应用程序。5.根据权利要求1
‑
4任一所述的方法,其特征在于,在检测到所述预设应用程序调用预设连接函数之前,还包括:在所述预设应用程序中加载第一核心库,其中,所述第一核心库通过将所述第一核心库中的代理连接函数注入至第二核心库来实现对预设套接字的调用进行集中管理,所述第二核心库中包含预设连接函数,所述预设连接函数用于建立与本地套接字的连接,所述本地套接字包含于所述预设套接字;基于所述代理连接函数对应的预设注入方法,将自定义连接函数注入至所述第二核心库;其中,所述检测到所述预设应用程序调用预设连接函数时,对所述预设连接函数进行获取,并将所述预设连接函数中的目的文件路径替...
【专利技术属性】
技术研发人员:请求不公布姓名,
申请(专利权)人:北京字节跳动网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。