CN109379394A - 一种监控网络请求的方法、装置及终端 - Google Patents

一种监控网络请求的方法、装置及终端 Download PDF

Info

Publication number
CN109379394A
CN109379394A CN201810954159.5A CN201810954159A CN109379394A CN 109379394 A CN109379394 A CN 109379394A CN 201810954159 A CN201810954159 A CN 201810954159A CN 109379394 A CN109379394 A CN 109379394A
Authority
CN
China
Prior art keywords
network request
network
unit
request
plug
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810954159.5A
Other languages
English (en)
Inventor
刘存栋
卜云涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201810954159.5A priority Critical patent/CN109379394A/zh
Publication of CN109379394A publication Critical patent/CN109379394A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请实施例提供的一种监控网络请求的方法、装置及终端,方法包括:在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器,所述客户端对象用于调用网络请求插件进行网络请求;利用所述网络拦截器对所述网络请求进行监控,获取监控数据;根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。如此,可根据获取到的监控数据判断相应的网络请求是否合理,若不合理的话,则可以拦截相应的网络请求,从而避免消耗大量的资源,确保终端的运行速率。

Description

一种监控网络请求的方法、装置及终端
技术领域
本发明涉及互联网技术领域,尤其涉及一种监控网络请求的方法、装置及终端。
背景技术
目前有现在很多软件产品都是需要进行网络请求才能执行相应的逻辑实现某些预定的功能,但是有些网络请求需要执行的逻辑是不太合理的,现有技术一般无法监控到这些不合理的网络请求,当接收到网络请求时,无论网络请求是否合理会直接基于网络请求执行对应的网络逻辑,导致大量的资源及流量被耗费,影响终端的运行速率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的监控网络请求的方法、装置及计算机设备。
本发明的第一方面,提供一种监控网络请求的方法,包括:
在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
可选地,所述在利用网络请求库对应的网络请求插件进行网络请求之前,包括:
获取所述网络请求库中的网络请求代码;
将所述网络请求代码置入所述网络请求插件中。
可选地,所述网络请求插件为公共网络请求插件。
可选地,所述为所述网络请求库对应的客户端对象的构建器设置网络拦截器之前,包括:
创建所述客户端对象的构建器;
利用所述构建器创建所述客户端对象。
可选地,所述为所述网络请求库对应的客户端对象的构建器设置网络拦截器,包括:
声明注解文件;
在创建所述客户端对象时,读取所述注解文件,基于所述注解文件对用于创建所述构建器的创建程序进行修改,以能为所述客户端对象的构建器设置所述网络拦截器。
可选地,所述利用所述网络拦截器对所述网络请求进行监控,获取监控数据,包括:
在所述网络请求被发送之前获取如下一种或者多种监控数据:
所述网络请求的请求方式、统一资源定位符URL、上行数据的流量以及发起所述网络请求的开始时刻。
可选地,所述利用所述网络拦截器对所述网络请求进行监控,获取监控数据,包括:
在所述网络请求被发送之后,获取如下一种或者多种监控数据:
所述网络请求的状态码、下行数据流量及本次网络请求的耗时。
可选地,所述利用所述网络拦截器对所述网络请求进行监控,获取监控数据后,包括:
创建数据存储表;
将所述监控数据存储至所述数据存储表中。
可选地,所述根据所述监控数据判断所述网络请求是否合理,包括:
将所述监控数据中的URL与预设在网络请求拦截库中的URL进行匹配,若匹配成功,则确定所述网络请求不合理。
本发明的第二方面,提供一种监控网络请求的装置,所述装置包括:
设置单元,用于在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
监控单元,用于利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
判断单元,用于根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
可选地,所述装置包括:获取单元,
用于在利用网络请求库对应的网络请求插件进行网络请求之前,获取所述网络请求库中的网络请求代码;将所述网络请求代码置入所述网络请求插件中。
可选地,所述网络请求插件为公共网络请求插件。
可选地,所述装置还包括:创建单元,用于在为所述网络请求库对应的客户端对象的构建器设置网络拦截器之前,创建所述客户端对象的构建器;利用所述构建器创建所述客户端对象。
可选地,所述设置单元具体用于:
声明注解文件;
在创建所述客户端对象时,读取所述注解文件,基于所述注解文件对用于创建所述构建器的创建程序进行修改,以能为所述客户端对象的构建器设置所述网络拦截器。
可选地,所述监控单元具体用于:
在所述网络请求被发送之前,获取如下一种或者多种监控数据:
所述网络请求的请求方式、统一资源定位符URL、上行数据的流量以及发起所述网络请求的开始时刻。
可选地,所述监控单元具体用于:
在所述网络请求被发送之后,获取如下一种或者多种监控数据:
所述网络请求的状态码、下行数据流量及本次网络请求的耗时。
可选地,所述装置还包括:存储单元,用于利用所述网络拦截器对所述网络请求进行监控,获取监控数据后,创建数据存储表;将所述监控数据存储至所述数据存储表中。
可选地,所述判断单元具体用于:
将所述监控数据中的URL与预设在网络请求拦截库中的URL进行匹配,若匹配成功,则确定所述网络请求不合理。
本发明的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本发明的第三方面,提供一种监控网络请求的终端,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如上述任一项所述方法的步骤。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例提供的一种监控网络请求的方法、装置及终端,方法包括:为客户端对象的构建器设置网络拦截器,所述客户端对象用于调用网络请求插件进行网络请求;利用所述网络拦截器对所述网络请求进行监控,获取监控数据;根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。如此,可以拦截不合理的网络请求,避免了不合理的网络请求执行其网络逻辑,进而避免了不合理消耗终端的资源及流量,确保终端的运行速率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种监控网络请求的方法流程示意图;
图2示出了根据本发明一个实施例的一种监控网络请求的装置结构示意图;
图3示出了根据本发明一个实施例的一种监控网络请求的终端结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种监控网络请求的方法、装置及终端,用以解决现有技术中不能及时发现不合理的网络请求,会直接执行这些网络请求对应的逻辑,导致耗费大量的资源及流量,影响终端运行速率的技术问题。
实施例一
本实施例提供一种监控网络请求的方法,该方法可以应用在手机卫士上,如图1所示,方法包括:
S110,在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
这里,因手机卫士目前是插件化的模式,主要是由宿主及不同功能的插件组成,为了使得网络请求库的网络请求代码后续可独立升级,在利用网络请求库对应的网络请求插件进行网络请求之前,包括:
获取网络请求库中所有的网络请求代码;将所述网络请求代码置入预先建立的网络请求插件中。这样就为网络请求库设置了一个对应的网络请求插件,该网络请求插件是公用的,所有的插件在需要进行网络请求时,均可通过该网络请求插件来实现。且该网络请求插件与宿主及其他插件是解耦的状态,因此在后续的升级中,可以实现独立升级。其中,本实施例中所称的网络请求库包括:OKHttp网络请求库。
网络请求插件还提供了一套标准接口,当其他插件需要发送网络请求时,都可以通过该标准接口调用网络请求插件进行网络请求。其中,若网络请求插件的名称为Protocol时,对应的标准接口如下:
上述代码中需要设置的参数可以包括:待请求的统一资源定位符(URL,UniformResource Locator),httpHeader消息、请求方式、以及和服务器协议预先约定的业务参数(比如客户端必须上传param1=1111,param2=2222等这样的参数)。所述请求方式可以包括:get请求方式及post请求方式。
在利用网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器,以能利用网络拦截器对该网络请求插件发送的网络请求进行监控。
作为一种可选的实施例,在为客户端对象的构建器设置网络拦截器之前,包括:创建客户端对象的构建器;利用客户端对象的构建器创建所述客户端对象。其中,代码实现如下:
//创建OkHttpClient.Builder,所述OkHttpClient.Builder为客户端对象OkHttpClient的构建器
OkHttpClient.Builder builder=new OkHttpClient.Builder();
builder.connectTimeout(6000,TimeUnit.SECONDS);
//创建客户端OkHttpClient对象
OkHttpClient client=builder.build();
客户端对象创建好之后,就可以为客户端对象的构建器设置网络拦截器了。
作为一种可选的实施例,为网络请求库对应的客户端对象的构建器设置网络拦截器,包括:
声明注解文件;
在创建客户端对象时,读取所述注解文件,基于所述注解文件对用于创建构建器的创建程序进行修改,以能为客户端对象的构建器设置所述网络拦截器。
这里,注解文件主要是用于为某个类、某个字段或者某种方法标记标签,标记标签后,在程序编译期间,利用Gradle TransformAPI在预设的时刻根据该标签处理被标记的类、字段或者方法,处理过程为:读取注解文件,利用aspectj的ajc编译器处理该注解文件,以对标记的类、字段或者方法进行修改,实现预定的某种功能。其中,Gradle TransformAPI是在类class文件到dex文件的转换期间,用于修改class文件字节码的应用程序接口(API,Application Programming Interface)。
本实施例中的注解文件为:
同样的道理,本实施例在创建客户端对象时,Gradle TransformAPI会读取上述声明的注解文件,利用java编译器(ajc编译器)处理上述注解文件,以能对用于创建构建器的创建程序的程序代码进行修改,自动为构建器设置一网络拦截器NetWorkInterceptor,其中,利用ajc编译器处理上述注解文件的处理代码如下:
修改后的用于创建构建器的创建程序的程序代码如下:
OkHttpClient.Builder builder=new OkHttpClient.Builder();
builder.connectTimeout(6000,TimeUnit.SECONDS);
builder.addInterceptor(new NetWorkInterceptor());//自动添加网络拦截器。
这样就为客户端对象的构建器自动添加了一个网络拦截器NetWorkInterceptor。
客户端对象及网络拦截器均构建好之后,就可以利用客户端对象调用网络请求库中的API进行网络请求了。
比如,当需要利用get请求方式请求一个URL时,实现如下:
当需要利用post请求方式请求一个URL时,实现如下:
当需要利用post请求方式提交一个键值对时,实现如下:
这里,在上述实现方式中,各调用函数、调用方法等均可称为是网络请求库的API。
S111,利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
在进行网络请求的过程中,可利用所述网络拦截器对所述网络请求进行监控,获取监控数据,网络拦截器的监控业务代码如下:
作为一种可选的实施例,利用所述网络拦截器对所述网络请求进行监控,获取监控数据,包括:
在所述网络请求被发送之前,获取如下一种或者多种监控数据:所述网络请求的请求方式、URL,、上行数据的流量以及发起网络请求的开始时间;那么在发送网络请求之前,监控到的数据包括:网络请求的请求方式、URL、上行数据的流量以及发起网络请求的开始时刻。
在所述网络请求被发送之后,获取如下一种或者多种监控数据:所述网络请求的状态码、下行数据流量及本次网络请求的耗时;那么在发送网络请求之后,监控到的数据包括:网络请求的状态码、下行数据流量及本次网络请求的耗时。
S112,根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
获取到监控数据后,可根据所述监控数据判断网络请求是否合理,若确定网络请求不合理,则利用网络拦截器对网络请求进行拦截。
比如,获取到当前网络请求的URL后,会将该URL与预设的网络请求拦截库中的URL进行匹配,若能匹配成功,则说明该URL是不合理的,是需要被拦截的,则对当前网络请求的URL进行拦截。其中,网络请求拦截库中预设有需要被拦截的URL。
或者,若当前网络请求已经被服务器接收,但是服务器返回的状态码为404(请求的网页不存在)、或为503(服务不可用)这种类型的状态码时,下次再监控到同样的网络请求时,则会拦截此网络请求,避免资源消耗。
获取到这些监控数据后,创建数据存储表;将所述监控数据存储至所述数据存储表中。
其中,数据存储表是由以下数据结构来实现的:
那么对应的数据存储表如表1所示:
表1
字段名称 介绍
url 当前网络请求的URL
requestSize 上行数据流量
responseSize 下行数据流量
startTime 发起网络请求的开始时刻
costTime 网络请求耗时
code 状态码
作为一种可选的实施例,当检测到终端连接上无线网络WiFi时,会自动将监控数据上传至服务器中,以能对监控数据进行备份。
基于同样的发明构思,本申请还提供了一种监控网络请求的装置,详见实施例二。
实施例二
本实施提供一种监控网络的装置,如图2所示,装置包括:设置单元21、监控单元22、判断单元23、获取单元24、创建单元25及存储单元26;其中,
因手机卫士目前是插件化的模式,主要是由宿主及不同功能的插件组成,为了使得网络请求库的网络请求代码后续可独立升级,在利用网络请求库对应的网络请求插件进行网络请求之前,获取单元24用于:
获取网络请求库中所有的网络请求代码;将所述网络请求代码置入预先建立的网络请求插件中。这样就为网络请求库设置了一个对应的网络请求插件,该网络请求插件是公用的,所有的插件在需要进行网络请求时,均可通过该网络请求插件来实现。且该网络请求插件与宿主及其他插件是解耦的状态,因此在后续的升级中,可以实现独立升级。其中,本实施例中所称的网络请求库包括:OKHttp网络请求库。
网络请求插件还提供了一套标准接口,当其他插件需要发送网络请求时,都可以通过该标准接口调用网络请求插件进行网络请求。其中,若网络请求插件的名称为Protocol时,对应的标准接口如下:
上述代码中需要设置的参数可以包括:待请求的URL,httpHeader消息、请求方式、以及和服务器协议预先约定的业务参数(比如客户端必须上传param1=1111,param2=2222等这样的参数)。所述请求方式可以包括:get请求方式及post请求方式。
在利用网络请求插件进行网络请求时,设置单元21为所述网络请求库对应的客户端对象的构建器设置网络拦截器,以能利用网络拦截器对该网络请求插件发送的网络请求进行监控。
作为一种可选的实施例,设置单元21在为客户端对象的构建器设置网络拦截器之前,创建单元25具体用于:
创建所述客户端对象的构建器;利用所述客户端对象的构建器创建所述客户端对象。其中,代码实现如下:
//创建OkHttpClient.Builder,所述OkHttpClient.Builder为客户端对象OkHttpClient的构建器
OkHttpClient.Builder builder=new OkHttpClient.Builder();
builder.connectTimeout(6000,TimeUnit.SECONDS);
//创建客户端OkHttpClient对象
OkHttpClient client=builder.build();
客户端对象创建好之后,设置单元21就可以为客户端对象的构建器设置网络拦截器。
作为一种可选的实施例,设置单元21具体用于:
声明注解文件;
在创建客户端对象时,读取所述注解文件,基于所述注解文件对用于创建构建器的创建程序进行修改,以能为客户端对象的构建器设置所述网络拦截器。
这里,注解文件主要是用于为某个类、某个字段或者某种方法标记标签,标记标签后,在程序编译期间,利用Gradle TransformAPI在预设的时刻根据该标签处理被标记的类、字段或者方法,处理过程为:读取注解文件,利用aspectj的ajc编译器处理该注解文件,以对标记的类、字段或者方法进行修改,实现预定的某种功能。其中,Gradle TransformAPI是在类class文件到dex文件的转换期间,用于修改class文件字节码的API。
本实施例中的注解文件为:
同样的道理,本实施例在创建客户端对象时,Gradle TransformAPI会读取上述声明的注解文件,利用java编译器(ajc编译器)处理上述注解文件,以能对用于创建构建器的创建程序的程序代码进行修改,自动为构建器设置一网络拦截器NetWorkInterceptor,其中,利用ajc编译器处理上述注解文件的处理代码如下:
修改后的用于创建构建器的创建程序的程序代码如下:
OkHttpClient.Builder builder=new OkHttpClient.Builder();
builder.connectTimeout(6000,TimeUnit.SECONDS);
builder.addInterceptor(new NetWorkInterceptor());//自动添加网络拦截器。
这样就为客户端对象的构建器自动添加了一个网络拦截器NetWorkInterceptor。
这里,客户端对象及网络拦截器均构建好之后,就可以利用客户端对象调用网络请求库中的API进行网络请求了。
比如,当需要利用get请求方式请求一个URL时,实现如下:
当需要利用post请求方式请求一个URL时,实现如下:
当需要利用post请求方式提交一个键值对时,实现如下:
这里,在上述实现方式中,各调用函数、调用方法等均可称为是网络请求库的API。
在进行网络请求的过程中,监控单元22可利用所述网络拦截器对所述网络请求进行监控,获取监控数据,网络拦截器的监控业务代码如下:
作为一种可选的实施例,监控单元22具体用于:
在所述网络请求被发送之前,获取如下一种或者多种监控数据:所述网络请求的请求方式、URL,、上行数据的流量以及发起网络请求的开始时刻。那么在发送网络请求之前,监控到的数据包括:网络请求的请求方式、URL、上行数据的流量以及发起网络请求的开始时刻。
在所述网络请求被发送之后,获取如下一种或者多种监控数据:所述网络请求的状态码、下行数据流量及本次网络请求的耗时;那么在发送网络请求之后,监控到的数据包括:网络请求的状态码、下行数据流量及本次网络请求的耗时。
获取到这些监控数据后,判断单元23用于根据所述监控数据判断所述网络请求是否合理,若不合理,则利用网络拦截器对所述网络请求进行拦截。
比如,获取到当前网络请求的URL后,判断单元23会将该URL与预设的网络请求拦截库中的URL进行匹配,若能匹配成功,则说明该URL不合理的,是需要被拦截的,则对当前网络请求的URL进行拦截。其中,网络请求拦截库中预设有需要被拦截的URL。
或者,若当前网络请求已经被服务器接收,但是服务器返回的状态码为404(请求的网页不存在)、或为503(服务不可用)这种类型的状态码时,下次再监控到同样的网络请求时,则会拦截此网络请求,避免资源消耗。
作为一种可选的实施例,获取到监控数据后,存储单元26用于:创建数据存储表;将所述监控数据存储至所述数据存储表中。
其中,数据存储表是由以下数据结构来实现的:
那么对应的数据存储表如表1所示:
表1
字段名称 介绍
url 当前网络请求的URL
requestSize 上行数据流量
responseSize 下行数据流量
startTime 发起网络请求的开始时刻
costTime 网络请求耗时
code 状态码
作为一种可选的实施例,当检测到终端连接上无线网络WiFi时,会自动将监控数据上传至服务器中,以能对监控数据进行备份。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例提供的一种监控网络请求的方法、装置及终端,方法包括:在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的为客户端对象的构建器设置网络拦截器;利用所述网络拦截器对所述网络请求进行监控,获取监控数据;根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求;如此,可以拦截不合理的网络请求,避免了不合理的网络请求执行其网络逻辑,进而避免了不合理消耗终端的资源及流量,确保终端的运行速率。
本发明同时还提供了一种移动终端,如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point ofSales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图3示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图3,手机包括:射频(Radio Frequency,RF)电路31、存储器132、输入单元33、显示单元34、传感器35、音频电路36、无线保真(wireless-fidelity,Wi-Fi)模块37、处理器38、以及电源39等部件。本领域技术人员可以理解,图3中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对手机的各个构成部件进行具体的介绍:
RF电路31可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器38处理;另外,将设计上行的数据发送给基站。通常,RF电路31包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路31还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System ofMobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器32可用于存储软件程序以及模块,处理器38通过运行存储在存储器32的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元33可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元33可包括触控面板331以及其他输入设备332。触控面板331,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板331上或在触控面板331附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板331可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器38,并能接收处理器38发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板331。除了触控面板331,输入单元33还可以包括其他输入设备332。具体地,其他输入设备332可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元34可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元34可包括显示面板341,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板341。进一步的,触控面板331可覆盖显示面板341,当触控面板331检测到在其上或附近的触摸操作后,传送给处理器38以确定触摸事件的类型,随后处理器38根据触摸事件的类型在显示面板341上提供相应的视觉输出。虽然在图3中,触控面板331与显示面板341是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板331与显示面板341集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器35,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板341的亮度,接近传感器可在手机移动到耳边时,关闭显示面板341和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路36、扬声器361,传声器362可提供用户与手机之间的音频接口。音频电路36可将接收到的音频数据转换后的电信号,传输到扬声器361,由扬声器361转换为声音信号输出;另一方面,传声器362将收集的声音信号转换为电信号,由音频电路360接收后转换为音频数据,再将音频数据输出处理器38处理后,经RF电路31以发送给比如另一手机,或者将音频数据输出至存储器32以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块37可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图3示出了WiFi模块37,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器38是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器32内的软件程序和/或模块,以及调用存储在存储器32内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器38可包括一个或多个处理单元;优选的,处理器38可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器38中。
手机还包括给各个部件供电的电源39(比如电池),优选的,电源可以通过电源管理系统与处理器38逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器38还具有以下功能:所述处理器38检测终端是否能通过当前连接的网络访问谷歌服务器;若所述终端不能通过所述当前连接的网络访问所述谷歌服务器时,将谷歌应用程序的唤醒类闹钟更新为非唤醒类闹钟。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置、终端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了,A1、一种监控网络请求的方法,包括:
在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
A2、如A1所述的方法,所述在利用网络请求库对应的网络请求插件进行网络请求之前,包括:
获取所述网络请求库中的网络请求代码;
将所述网络请求代码置入所述网络请求插件中。
A3、如A1~A2任一项所述的方法,所述网络请求插件为公共网络请求插件。
A4、如A1所述的方法,所述为所述网络请求库对应的客户端对象的构建器设置网络拦截器之前,包括:
创建所述客户端对象的构建器;
利用所述构建器创建所述客户端对象。
A5、如A1~A2任一项所述的方法,所述为所述网络请求库对应的客户端对象的构建器设置网络拦截器,包括:
声明注解文件;
在创建所述客户端对象时,读取所述注解文件,基于所述注解文件对用于创建所述构建器的创建程序进行修改,以能为所述客户端对象的构建器设置所述网络拦截器。
A6、如A1所述的方法,所述利用所述网络拦截器对所述网络请求进行监控,获取监控数据,包括:
在所述网络请求被发送之前获取如下一种或者多种监控数据:
所述网络请求的请求方式、统一资源定位符URL、上行数据的流量以及发起所述网络请求的开始时刻。
A7、如A1或A6所述的方法,所述利用所述网络拦截器对所述网络请求进行监控,获取监控数据,包括:
在所述网络请求被发送之后,获取如下一种或者多种监控数据:
所述网络请求的状态码、下行数据流量及本次网络请求的耗时。
A8、如A1所述的方法,所述利用所述网络拦截器对所述网络请求进行监控,获取监控数据后,包括:
创建数据存储表;
将所述监控数据存储至所述数据存储表中。
A9、如A1或A6所述的方法,所述根据所述监控数据判断所述网络请求是否合理,包括:
将所述监控数据中的URL与预设在网络请求拦截库中的URL进行匹配,若匹配成功,则确定所述网络请求不合理。
B10、一种监控网络请求的装置,所述装置包括:
设置单元,用于在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
监控单元,用于利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
判断单元,用于根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
B11、如B10所述的装置,所述装置包括:获取单元,
用于在利用网络请求库对应的网络请求插件进行网络请求之前,获取所述网络请求库中的网络请求代码;将所述网络请求代码置入所述网络请求插件中。
B12、如B10~B11任一项所述的装置,所述网络请求插件为公共网络请求插件。
B13、如B10所述的装置,所述装置还包括:创建单元,用于在为所述网络请求库对应的客户端对象的构建器设置网络拦截器之前,创建所述客户端对象的构建器;利用所述构建器创建所述客户端对象。
B14、如B10~B11任一项所述的装置,所述设置单元具体用于:
声明注解文件;
在创建所述客户端对象时,读取所述注解文件,基于所述注解文件对用于创建所述构建器的创建程序进行修改,以能为所述客户端对象的构建器设置所述网络拦截器。
B15、如B10所述的装置,所述监控单元具体用于:
在所述网络请求被发送之前,获取如下一种或者多种监控数据:
所述网络请求的请求方式、统一资源定位符URL、上行数据的流量以及发起所述网络请求的开始时刻。
B16、如B10或B15所述的装置,所述监控单元具体用于:
在所述网络请求被发送之后,获取如下一种或者多种监控数据:
所述网络请求的状态码、下行数据流量及本次网络请求的耗时。
B17、如B10所述的装置,所述装置还包括:存储单元,用于利用所述网络拦截器对所述网络请求进行监控,获取监控数据后,创建数据存储表;将所述监控数据存储至所述数据存储表中。
B18、如B10或B15所述的装置,所述判断单元具体用于:
将所述监控数据中的URL与预设在网络请求拦截库中的URL进行匹配,若匹配成功,则确定所述网络请求不合理。
C19、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现A1至A9任一项所述方法的步骤。
D20、一种监控网络请求的终端,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如A1至A9任一项所述方法的步骤。

Claims (10)

1.一种监控网络请求的方法,其特征在于,包括:
在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
2.如权利要求1所述的方法,其特征在于,所述在利用网络请求库对应的网络请求插件进行网络请求之前,包括:
获取所述网络请求库中的网络请求代码;
将所述网络请求代码置入所述网络请求插件中。
3.如权利要求1~2任一项所述的方法,其特征在于,所述网络请求插件为公共网络请求插件。
4.如权利要求1所述的方法,其特征在于,所述为所述网络请求库对应的客户端对象的构建器设置网络拦截器之前,包括:
创建所述客户端对象的构建器;
利用所述构建器创建所述客户端对象。
5.一种监控网络请求的装置,其特征在于,所述装置包括:
设置单元,用于在利用网络请求库对应的网络请求插件进行网络请求时,为所述网络请求库对应的客户端对象的构建器设置网络拦截器;
监控单元,用于利用所述网络拦截器对所述网络请求进行监控,获取监控数据;
判断单元,用于根据所述监控数据判断所述网络请求是否合理,若确定所述网络请求不合理,则拦截所述网络请求。
6.如权利要求5所述的装置,其特征在于,所述装置包括:获取单元,
用于在利用网络请求库对应的网络请求插件进行网络请求之前,获取所述网络请求库中的网络请求代码;将所述网络请求代码置入所述网络请求插件中。
7.如权利要求5~6任一项所述的装置,其特征在于,所述网络请求插件为公共网络请求插件。
8.如权利要求5所述的装置,其特征在于,所述装置还包括:创建单元,用于在为所述网络请求库对应的客户端对象的构建器设置网络拦截器之前,创建所述客户端对象的构建器;利用所述构建器创建所述客户端对象。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至4任一项所述方法的步骤。
10.一种监控网络请求的终端,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中,所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一项所述方法的步骤。
CN201810954159.5A 2018-08-21 2018-08-21 一种监控网络请求的方法、装置及终端 Pending CN109379394A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810954159.5A CN109379394A (zh) 2018-08-21 2018-08-21 一种监控网络请求的方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810954159.5A CN109379394A (zh) 2018-08-21 2018-08-21 一种监控网络请求的方法、装置及终端

Publications (1)

Publication Number Publication Date
CN109379394A true CN109379394A (zh) 2019-02-22

Family

ID=65403696

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810954159.5A Pending CN109379394A (zh) 2018-08-21 2018-08-21 一种监控网络请求的方法、装置及终端

Country Status (1)

Country Link
CN (1) CN109379394A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671728A (zh) * 2020-12-14 2021-04-16 中科曙光国际信息产业有限公司 网络访问请求获取方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095589A1 (en) * 2012-09-29 2014-04-03 Oracle International Corporation Mechanism for initiating behavior in a native client application from a web client application via a custom url scheme
CN104468551A (zh) * 2014-11-28 2015-03-25 北京奇虎科技有限公司 一种基于广告拦截节省流量的方法及装置
CN106599298A (zh) * 2016-12-28 2017-04-26 北京金山安全软件有限公司 广告拦截方法、装置以及终端设备
CN107040541A (zh) * 2017-04-26 2017-08-11 努比亚技术有限公司 一种广告拦截方法、装置及计算机可读介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140095589A1 (en) * 2012-09-29 2014-04-03 Oracle International Corporation Mechanism for initiating behavior in a native client application from a web client application via a custom url scheme
CN104468551A (zh) * 2014-11-28 2015-03-25 北京奇虎科技有限公司 一种基于广告拦截节省流量的方法及装置
CN106599298A (zh) * 2016-12-28 2017-04-26 北京金山安全软件有限公司 广告拦截方法、装置以及终端设备
CN107040541A (zh) * 2017-04-26 2017-08-11 努比亚技术有限公司 一种广告拦截方法、装置及计算机可读介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
未知: "如何将标头添加到OkHttp请求拦截器?(How to add headers to OkHttp request interceptor)", 《HTTPS://WWW.LIKECS.COM/ASK-248825.HTML)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112671728A (zh) * 2020-12-14 2021-04-16 中科曙光国际信息产业有限公司 网络访问请求获取方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN105278937B (zh) 一种显示弹出框消息的方法及装置
CN107943683B (zh) 一种测试脚本生成方法、装置、电子设备及存储介质
CN104978176B (zh) 应用程序接口调用方法、装置及计算机可读存储介质
CN106502906B (zh) 一种测试应用程序的方法和装置
CN106547844B (zh) 一种用户界面的处理方法和装置
CN104093123B (zh) 应用程序的信息推送方法、装置和系统、移动终端
CN104516812A (zh) 一种软件测试方法和装置
CN105740145B (zh) 定位控件中的元素的方法及装置
CN107391198B (zh) 任务调度方法和装置、计算机可读存储介质、移动终端
CN106095456A (zh) 引导用户下载应用程序的方法、装置及移动终端
CN107153537A (zh) 一种基于多任务界面的信息展现方法、装置及移动终端
CN108920220A (zh) 一种函数调用的方法、装置及终端
CN105847325A (zh) 应用客户端的调试方法及装置
CN106713608A (zh) 应用的功能状态修改方法、装置及终端
CN107943684A (zh) 一种测试失败的重试方法、装置、服务器及存储介质
CN108762829A (zh) 一种用于图像美化的方法、客户端及终端
CN106713636B (zh) 图片数据的加载方法、装置及移动终端
CN110413639A (zh) 数据核查方法及装置、电子设备和计算机可读存储介质
CN106020945A (zh) 快捷项添加方法及装置
CN109145598B (zh) 脚本文件的病毒检测方法、装置、终端及存储介质
CN109344035A (zh) 一种应用程序的运行控制方法、装置、设备及存储介质
CN106708501B (zh) 活动监控方法及装置
CN105094869B (zh) 目标程序确定方法及装置
CN109379394A (zh) 一种监控网络请求的方法、装置及终端
CN111381845A (zh) 软件灰度升级方法、装置、存储介质、终端和服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20190222

RJ01 Rejection of invention patent application after publication