CN109766062A - 基于php服务的网页内容打印方法、装置、设备及存储介质 - Google Patents
基于php服务的网页内容打印方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109766062A CN109766062A CN201811537426.5A CN201811537426A CN109766062A CN 109766062 A CN109766062 A CN 109766062A CN 201811537426 A CN201811537426 A CN 201811537426A CN 109766062 A CN109766062 A CN 109766062A
- Authority
- CN
- China
- Prior art keywords
- target terminal
- terminal
- web page
- php
- page contents
- 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
Links
- 238000007639 printing Methods 0.000 title claims abstract description 100
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000001514 detection method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000002347 injection Methods 0.000 description 6
- 239000007924 injection Substances 0.000 description 6
- 239000000243 solution Substances 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000010485 coping Effects 0.000 description 1
- 238000010017 direct printing Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明公开了一种基于PHP服务的网页内容打印方法、装置、设备及存储介质,应用于打印机技术领域,用于解决本地打印网页内容容易暴露系统信息的问题。本发明提供的方法包括:接收目标终端的打印请求;基于websocket服务与所述目标终端建立长连接;根据所述打印请求获取所述目标终端需要打印的网页内容;在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
Description
技术领域
本发明涉及打印机技术领域,尤其涉及基于PHP服务的网页内容打印方法、装置、设备及存储介质。
背景技术
目前,在某些应用场景下,终端通过浏览器访问网页时,可能需要使用本地打印机直接打印该网页的内容。此时,浏览器上会弹出打印预览窗口,该打印预览窗口上往往记载了操作系统、浏览器版本等信息,用户需要在该打印预览窗口上操作后才能执行打印动作,完成对该网页内容的打印。在这个过程中,由于打印预览窗口容易暴露系统和浏览器信息,因此存在被跨站脚本攻击等黑客手段注入的风险,给终端带来安全隐患。
因此,寻找一种安全性高的直接打印网页内容的方法成为本领域技术人员亟需解决的问题。
发明内容
本发明实施例提供一种基于PHP服务的网页内容打印方法、装置、计算机设备及存储介质,以解决本地打印网页内容容易暴露系统信息的问题。
一种基于PHP服务的网页内容打印方法,包括:
接收目标终端的打印请求;
基于websocket服务与所述目标终端建立长连接;
根据所述打印请求获取所述目标终端需要打印的网页内容;
在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;
通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
一种基于PHP服务的网页内容打印装置,包括:
打印请求接收模块,用于接收目标终端的打印请求;
长连接建立模块,用于基于websocket服务与所述目标终端建立长连接;
网页内容获取模块,用于根据所述打印请求获取所述目标终端需要打印的网页内容;
进程启动模块,用于在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;
静默打印模块,用于通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于PHP服务的网页内容打印方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于PHP服务的网页内容打印方法的步骤。
上述基于PHP服务的网页内容打印方法、装置、计算机设备及存储介质,首先,接收目标终端的打印请求;然后,基于websocket服务与所述目标终端建立长连接;接着,根据所述打印请求获取所述目标终端需要打印的网页内容;在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;最后,通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。可见,本发明通过websocket服务和PHP服务来共同完成对网页内容的静默打印,由于静默打印时不会弹出打印预览窗口,从而避免了暴露浏览器和终端系统的相关信息,进而减少了被跨站脚本攻击等黑客手段注入的风险,提高了终端在打印时的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中基于PHP服务的网页内容打印方法的一应用环境示意图;
图2是本发明一实施例中基于PHP服务的网页内容打印方法的一流程图;
图3是本发明一实施例中基于PHP服务的网页内容打印方法步骤102在一个应用场景下的流程示意图;
图4是本发明一实施例中基于PHP服务的网页内容打印方法在一个应用场景下预先注册终端mac地址的流程示意图;
图5是本发明一实施例中基于PHP服务的网页内容打印方法在一个应用场景下查询终端在线列表的流程示意图;
图6是本发明一实施例中基于PHP服务的网页内容打印方法在一个应用场景下维护终端在线列表的流程示意图;
图7是本发明一实施例中基于PHP服务的网页内容打印装置的结构示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的基于PHP服务的网页内容打印方法,可应用在如图1的应用环境中,其中,终端通过网络与服务器进行通信。其中,该终端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于PHP服务的网页内容打印方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
101、接收目标终端的打印请求;
本实施例中,目标终端通过浏览器访问网站,当遇到想要打印的网页内容时,其会向服务器发起一个打印请求,从而服务器可以接收到该目标终端的打印请求。其中,该打印请求中可以包括该目标终端的mac地址,甚至该打印请求还可以包括该网页内容或该网页内容的获取地址。例如,在一个应用场景中,当车辆从停车场开出时,停车场的计费终端访问计算停车费的网站,网站以网页的形式给出该车辆的停车费单据,因此计费终端需要直接通过本地打印机打印该停车费单据出来,以便向该车辆的驾驶员收费。此时,计费终端可以向后台服务器发送一个打印请求,后台服务器可以接收到该打印请求。
102、基于websocket服务与所述目标终端建立长连接;
可以理解的是,服务器在接收到该目标终端的打印请求后,为了便于后续调用目标终端本地的PHP服务,可以基于websocket服务与所述目标终端建立长连接,在长连接状态下,服务器可以执行调用该目标终端本地的PHP服务、获取目标终端需要打印的网页内容、调用与目标终端连接的本地打印机等操作。
需要说明的是,websocket是一种网络通信协议,提供的一种在单个TCP连接上进行全双工通讯的协议,服务器通过使用websocket服务可以方便地与该目标终端建立长连接。PHP服务是指PHP-Printer-Controller-Server,即基于PHP(Personal Home Page,超文本预处理器)的打印与控制服务。
本实施例中,为了防止不法分子通过伪造终端信息来骗取服务器的相关信息,在服务器与该目标终端建立长连接时,还可以对该目标终端的合法性进行验证,服务器只与验证通过的目标终端建立长连接。为此,如图3所示,进一步地,所述步骤102可以包括:
201、从所述打印请求中获取所述目标终端的第一mac地址;
202、验证所述第一mac地址是否为预先注册的终端mac地址,若是,则执行步骤203,若否,则执行步骤204;
203、建立与所述目标终端的长连接;
204、中断与所述目标终端的连接。
对于上述步骤201,可以理解的是,在目标终端发送给服务器的打印请求中可以包含有该目标终端的第一mac地址,可知,该第一mac地址可以用于唯一标识该目标终端。服务器从该打印请求中获取所述目标终端的第一mac地址。
对于上述步骤202至204,本实施例中,合法的终端应当预先在服务器上进行注册,注册后的终端将保留其终端mac地址在服务器上。因此,服务器可以通过验证该第一mac地址是否为预先注册的终端mac地址,来判定该目标终端是否合法。具体可以是,服务器先获取预先注册好的各个终端mac地址,然后将该第一mac地址与各个终端mac地址分别进行对比,若存在与该第一mac地址对比一致的终端mac地址,则可以认为该目标终端合法,验证通过,从而服务器同意与该目标终端建立长连接关系;反之,若不存在与该第一mac地址对比一致的终端mac地址,则可以认为该目标终端为非法终端,验证不通过,从而服务器断开与该目标终端的连接。
对于上述步骤202中预先注册的终端mac地址,服务器可以多种方式为终端完成注册操作,比如可以由管理员手动在服务器上对每个指定的终端进行注册,将终端的mac地址、IP地址等信息写入服务器中。另一种方式是,为减少管理员的工作量,同时便于不同的终端完成注册操作,服务器可以向终端开放注册,只需终端向服务器申请注册并完成验证即可。为此,如图4所示,更进一步地,所述终端mac地址通过以下步骤预先注册得到:
301、接收来自终端的注册请求,所述注册请求由所述终端调用websocket服务中的agent发起,所述注册请求包括所述终端的第二mac地址;
302、判断所述第二mac地址是否符合预设条件,若是,则执行步骤303,若否,则执行步骤304;
303、将所述第二mac地址确定为已注册的终端mac地址;
304、不将所述第二mac地址确定为已注册的终端mac地址。
对于上述步骤301,当某个终端要注册时,其可以启用websocket服务,通过服务中的agent向服务器发起注册请求。其中agent在发起注册请求之前,会先获取该终端本机的IP地址、mac地址(即第二mac地址)等信息,然后根据这些信息生成一个注册请求并发送给服务器。因此,服务器可以接收到来自该终端的注册请求。
对于上述步骤302、步骤303和步骤304,服务器在接收到来自终端的注册请求之后,其还需要判断该注册请求中的第二mac地址是否符合预设条件,若符合,则可以认为该终端符合注册的要求,从而将该第二mac地址对应的终端确定为已注册终端,以及将该第二mac地址确定为已注册的终端mac地址。其中,该“预设条件”可以根据实际情况具体设定,比如可以设定为“是否为已注册的mac地址”,即步骤302判断该第二mac地址是否已在服务器上注册,若已注册,则确定该第二mac地址不符合预设条件;反之,若未注册,则确定该第二mac地址符合预设条件。需要说明的是,当该第二mac地址不符合预设条件时,服务器不允许该终端注册,从而该第二mac地址也不会被确定为已注册的终端mac地址。
103、根据所述打印请求获取所述目标终端需要打印的网页内容;
可以理解的是,该目标终端可以将需要打印的网页内容附在该打印请求中,从而服务器可以直接从该打印请求中获取到该目标终端需要打印的网页内容;或者,该目标终端可以在打印请求中附上其需要打印的网页内容的获取地址,比如要打印的网页网址,服务器从该打印请求中获取到该获取地址后,可以访问该获取地址,从而将需要打印的网页内容下载下来。
104、在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;
本实施例中,为了实现对该网页内容的静默打印,服务器需要启动PHP服务和本地打印机,而预设的PHP服务配置在目标终端本地,本地打印机也是与该目标终端在本地连接的,为此,服务器需要在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程。
需要说明的是,本实施例中的PHP服务主要用于后续步骤的PHP-Printer-Controller-Server,即基于PHP的打印与控制服务,服务器可以通过该打印与控制服务实现本地打印机的静默打印。
考虑到服务器与目标终端长连接是调用目标终端本地预设的PHP服务的前提,为此,在执行步骤104之前,本实施例中,可以将与服务器长连接的终端记录在终端在线列表中,这些记录在终端在线列表中的终端也称为在线终端,服务器可以在需要时通过查询该终端在线列表得知哪些终端在线。如图5所示,进一步地,在步骤104之前,本方法还包括:
401、判断所述目标终端是否位于预设的终端在线列表内,若是,则执行步骤402,若否,则执行步骤403,所述终端在线列表记录了当前进行长连接的所有终端;
402、确定在与所述目标终端长连接的状态下;
403、确定不在与所述目标终端长连接的状态下。
对于上述步骤401,服务器上可以预设一个终端在线列表,该终端在线列表记录了当前进行长连接的所有终端。服务器通过判断该目标终端是否位于预设的终端在线列表内,来确定是否与该目标终端保持长连接状态。
对于上述步骤402,当该目标终端位于预设的终端在线列表内时,则说明该目标终端当前正在与服务器保持长连接状态,从而服务器可以确定在与所述目标终端长连接的状态下。
对于上述步骤403,反之,当该目标终端不位于预设的终端在线列表内时,则说明该目标终端当前没有与服务器保持长连接状态,从而服务器可以确定不在与所述目标终端长连接的状态下。
本实施例中,为了维护所述终端在线列表,便于服务器有需要时获知哪些终端在线,如图6所示,进一步地,在步骤102之后,本方法还可以包括:
501、将所述目标终端记录至终端在线列表;
502、定时向所述目标终端发送心跳检测请求;
503、判断是否在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息,若是,则执行步骤504,若否,则执行步骤505;
504、确定与所述目标终端的长连接的状态正常;
505、确定与所述目标终端的长连接已断开,将所述目标终端移出所述终端在线列表。
对于上述步骤501,在执行步骤102之后,此时,服务器可以确定与该目标终端处于长连接状态下,因此,服务器可以将所述目标终端记录至终端在线列表。
对于上述步骤502,为了及时得知该目标终端是否在线或离线,服务器可以定时向该目标终端发送心跳检测请求。可知,该心跳检测请求主要是用来判断服务器与目标终端之间的长连接是否还在,假设服务器与目标终端仍在长连接状态下,服务器向目标终端发送的心跳检测请求必然会被目标终端接收到,目标终端接收到该心跳检测请求后会向服务器反馈信息,从而服务器可以得知该目标终端仍在线。反之,如果服务器与目标终端没有在连接状态下,服务器向目标终端发送的心跳检测请求必然不会被目标终端接收到,从而目标终端也无法向服务器反馈信息,从而服务器可以得知该目标终端已离线。
对于上述步骤503至505,在定时向所述目标终端发送心跳检测请求之后,服务器可以判断是否在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息。其中,该预设时间具体可以根据实际情况设置,比如设置为0.5秒内,即判断0.5秒内是否接收到该目标终端反馈的信息。若在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息,可以认为该目标终端接收到了该心跳检测请求,从而服务器可以确定与所述目标终端的长连接的状态正常;反之,如果未在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息,可以认为该目标终端未接收到该心跳检测请求,目标终端很可能处于离线状态,因此服务器可以确定与所述目标终端的长连接已断开,并将所述目标终端移出所述终端在线列表。
105、通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
本实施例中,静默打印是指打印时不弹出设置窗口,直接完成对内容的打印。可以理解的是,在启动PHP进程以及获取到需要打印的网页内容后,服务器可以通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。由于静默打印不会弹出打印设置页面,因此也避免了暴露浏览器和终端系统的相关信息,进而减少了被跨站脚本攻击等黑客手段注入的风险,提高了终端在打印时的安全性。
本发明实施例中,首先,接收目标终端的打印请求;然后,基于websocket服务与所述目标终端建立长连接;接着,根据所述打印请求获取所述目标终端需要打印的网页内容;在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;最后,通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。可见,本发明通过websocket服务和PHP服务来共同完成对网页内容的静默打印,由于静默打印时不会弹出打印预览窗口,从而避免了暴露浏览器和终端系统的相关信息,进而减少了被跨站脚本攻击等黑客手段注入的风险,提高了终端在打印时的安全性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于PHP服务的网页内容打印装置,该基于PHP服务的网页内容打印装置与上述实施例中基于PHP服务的网页内容打印方法一一对应。如图7所示,该基于PHP服务的网页内容打印装置包括打印请求接收模块601、长连接建立模块602、网页内容获取模块603、进程启动模块604和静默打印模块605。各功能模块详细说明如下:
打印请求接收模块601,用于接收目标终端的打印请求;
长连接建立模块602,用于基于websocket服务与所述目标终端建立长连接;
网页内容获取模块603,用于根据所述打印请求获取所述目标终端需要打印的网页内容;
进程启动模块604,用于在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;
静默打印模块605,用于通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
本实施例中,目标终端通过浏览器访问网站,当遇到想要打印的网页内容时,其会向该基于PHP服务的网页内容打印装置发起一个打印请求,从而打印请求接收模块601可以接收到该目标终端的打印请求。其中,该打印请求中可以包括该目标终端的mac地址,甚至该打印请求还可以包括该网页内容或该网页内容的获取地址。例如,在一个应用场景中,当车辆从停车场开出时,停车场的计费终端访问计算停车费的网站,网站以网页的形式给出该车辆的停车费单据,因此计费终端需要直接通过本地打印机打印该停车费单据出来,以便向该车辆的驾驶员收费。此时,计费终端可以向该基于PHP服务的网页内容打印装置发送一个打印请求,该基于PHP服务的网页内容打印装置中的打印请求接收模块601可以接收到该打印请求。
关于长连接建立模块602的执行内容,该基于PHP服务的网页内容打印装置在接收到该目标终端的打印请求后,为了便于后续调用目标终端本地的PHP服务,长连接建立模块602可以基于websocket服务与所述目标终端建立长连接,在长连接状态下,该基于PHP服务的网页内容打印装置可以执行调用该目标终端本地的PHP服务、获取目标终端需要打印的网页内容、调用与目标终端连接的本地打印机等操作。
关于网页内容获取模块603的执行内容,该目标终端可以将需要打印的网页内容附在该打印请求中,从而该基于PHP服务的网页内容打印装置中的网页内容获取模块603可以直接从该打印请求中获取到该目标终端需要打印的网页内容;或者,该目标终端可以在打印请求中附上其需要打印的网页内容的获取地址,比如要打印的网页网址,该网页内容获取模块603从该打印请求中获取到该获取地址后,可以访问该获取地址,从而将需要打印的网页内容下载下来。
本实施例中,为了实现对该网页内容的静默打印,该基于PHP服务的网页内容打印装置需要启动PHP服务和本地打印机,而预设的PHP服务配置在目标终端本地,本地打印机也是与该目标终端在本地连接的,为此,该基于PHP服务的网页内容打印装置中的进程启动模块604需要在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程。
本实施例中,静默打印是指打印时不弹出设置窗口,直接完成对内容的打印。可以理解的是,在启动PHP进程以及获取到需要打印的网页内容后,该基于PHP服务的网页内容打印装置中的静默打印模块605可以通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。由于静默打印不会弹出打印设置页面,因此也避免了暴露浏览器和终端系统的相关信息,进而减少了被跨站脚本攻击等黑客手段注入的风险,提高了终端在打印时的安全性。
进一步地,所述长连接建立模块可以包括:
地址获取单元,用于从所述打印请求中获取所述目标终端的第一mac地址;
地址验证单元,用于验证所述第一mac地址是否为预先注册的终端mac地址;
长连接建立单元,用于若所述地址验证单元的验证结果为验证通过,则建立与所述目标终端的长连接;
连接中断单元,用于若所述地址验证单元的验证结果为验证不通过,则中断与所述目标终端的连接。
进一步地,所述终端mac地址可以通过以下模块预先注册得到:
注册请求接收模块,用于接收来自终端的注册请求,所述注册请求由所述终端调用websocket服务中的agent发起,所述注册请求包括所述终端的第二mac地址;
条件判断模块,用于判断所述第二mac地址是否符合预设条件;
地址确定模块,用于若所述条件判断模块的判断结果为是,则将所述第二mac地址确定为已注册的终端mac地址。
进一步地,所述基于PHP服务的网页内容打印装置还可以包括:
终端判断模块,用于判断所述目标终端是否位于预设的终端在线列表内,所述终端在线列表记录了当前进行长连接的所有终端;
第一确定模块,用于若所述终端判断模块的判断结果为是,则确定在与所述目标终端长连接的状态下;
第二确定模块,用于若所述终端判断模块的判断结果为否,则确定不在与所述目标终端长连接的状态下。
进一步地,所述基于PHP服务的网页内容打印装置还可以包括:
终端记录模块,用于将所述目标终端记录至终端在线列表;
请求发送模块,用于定时向所述目标终端发送心跳检测请求;
信息接收判断模块,用于判断是否在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息;
第三确定模块,用于若所述信息接收判断模块的判断结果为是,则确定与所述目标终端的长连接的状态正常;
第四确定模块,用于若所述信息接收判断模块的判断结果为否,则确定与所述目标终端的长连接已断开,将所述目标终端移出所述终端在线列表。
上述基于PHP服务的网页内容打印装置,首先,打印请求接收模块601接收目标终端的打印请求;然后,长连接建立模块602基于websocket服务与所述目标终端建立长连接;接着,网页内容获取模块603根据所述打印请求获取所述目标终端需要打印的网页内容;在与所述目标终端长连接的状态下,进程启动模块604调用所述目标终端本地预设的PHP服务,启动PHP进程;最后,静默打印模块605通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。可见,该基于PHP服务的网页内容打印装置通过websocket服务和PHP服务来共同完成对网页内容的静默打印,由于静默打印时不会弹出打印预览窗口,从而避免了暴露浏览器和终端系统的相关信息,进而减少了被跨站脚本攻击等黑客手段注入的风险,提高了终端在打印时的安全性。
关于基于PHP服务的网页内容打印装置的具体限定可以参见上文中对于基于PHP服务的网页内容打印方法的限定,在此不再赘述。上述基于PHP服务的网页内容打印装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于PHP服务的网页内容打印方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于PHP服务的网页内容打印方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于PHP服务的网页内容打印方法的步骤,例如图2所示的步骤101至步骤105。或者,处理器执行计算机程序时实现上述实施例中基于PHP服务的网页内容打印装置的各模块/单元的功能,例如图7所示模块601至模块605的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中基于PHP服务的网页内容打印方法的步骤,例如图2所示的步骤101至步骤105。或者,计算机程序被处理器执行时实现上述实施例中基于PHP服务的网页内容打印装置的各模块/单元的功能,例如图7所示模块601至模块605的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于PHP服务的网页内容打印方法,其特征在于,包括:
接收目标终端的打印请求;
基于websocket服务与所述目标终端建立长连接;
根据所述打印请求获取所述目标终端需要打印的网页内容;
在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;
通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
2.根据权利要求1所述的基于PHP服务的网页内容打印方法,其特征在于,所述基于websocket服务与所述目标终端建立长连接包括:
从所述打印请求中获取所述目标终端的第一mac地址;
验证所述第一mac地址是否为预先注册的终端mac地址;
若验证通过,则建立与所述目标终端的长连接;
若验证不通过,则中断与所述目标终端的连接。
3.根据权利要求2所述的基于PHP服务的网页内容打印方法,其特征在于,所述终端mac地址通过以下步骤预先注册得到:
接收来自终端的注册请求,所述注册请求由所述终端调用websocket服务中的agent发起,所述注册请求包括所述终端的第二mac地址;
判断所述第二mac地址是否符合预设条件;
若所述第二mac地址符合预设条件,则将所述第二mac地址确定为已注册的终端mac地址。
4.根据权利要求1所述的基于PHP服务的网页内容打印方法,其特征在于,在调用所述目标终端本地预设的PHP服务,启动PHP进程之前,还包括:
判断所述目标终端是否位于预设的终端在线列表内,所述终端在线列表记录了当前进行长连接的所有终端;
若所述目标终端位于预设的终端在线列表内,则确定在与所述目标终端长连接的状态下;
若所述目标终端不位于预设的终端在线列表内,则确定不在与所述目标终端长连接的状态下。
5.根据权利要求1至4中任一项所述的基于PHP服务的网页内容打印方法,其特征在于,在基于websocket服务与所述目标终端建立长连接之后,还包括:
将所述目标终端记录至终端在线列表;
定时向所述目标终端发送心跳检测请求;
判断是否在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息;
若在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息,则确定与所述目标终端的长连接的状态正常;
若未在所述心跳检测请求发送后的预设时间内接收到所述目标终端反馈的信息,则确定与所述目标终端的长连接已断开,将所述目标终端移出所述终端在线列表。
6.一种基于PHP服务的网页内容打印装置,其特征在于,包括:
打印请求接收模块,用于接收目标终端的打印请求;
长连接建立模块,用于基于websocket服务与所述目标终端建立长连接;
网页内容获取模块,用于根据所述打印请求获取所述目标终端需要打印的网页内容;
进程启动模块,用于在与所述目标终端长连接的状态下,调用所述目标终端本地预设的PHP服务,启动PHP进程;
静默打印模块,用于通过所述PHP进程调用与所述目标终端连接的本地打印机接口完成对所述网页内容进行静默打印。
7.根据权利要求6所述的基于PHP服务的网页内容打印装置,其特征在于,所述长连接建立模块包括:
地址获取单元,用于从所述打印请求中获取所述目标终端的第一mac地址;
地址验证单元,用于验证所述第一mac地址是否为预先注册的终端mac地址;
长连接建立单元,用于若所述地址验证单元的验证结果为验证通过,则建立与所述目标终端的长连接;
连接中断单元,用于若所述地址验证单元的验证结果为验证不通过,则中断与所述目标终端的连接。
8.根据权利要求7所述的基于PHP服务的网页内容打印装置,其特征在于,所述终端mac地址通过以下模块预先注册得到:
注册请求接收模块,用于接收来自终端的注册请求,所述注册请求由所述终端调用websocket服务中的agent发起,所述注册请求包括所述终端的第二mac地址;
条件判断模块,用于判断所述第二mac地址是否符合预设条件;
地址确定模块,用于若所述条件判断模块的判断结果为是,则将所述第二mac地址确定为已注册的终端mac地址。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述基于PHP服务的网页内容打印方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述基于PHP服务的网页内容打印方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537426.5A CN109766062A (zh) | 2018-12-15 | 2018-12-15 | 基于php服务的网页内容打印方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811537426.5A CN109766062A (zh) | 2018-12-15 | 2018-12-15 | 基于php服务的网页内容打印方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109766062A true CN109766062A (zh) | 2019-05-17 |
Family
ID=66450659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811537426.5A Pending CN109766062A (zh) | 2018-12-15 | 2018-12-15 | 基于php服务的网页内容打印方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766062A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN112965673A (zh) * | 2021-03-24 | 2021-06-15 | 北京有竹居网络技术有限公司 | 内容的打印方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110279861A1 (en) * | 2010-05-14 | 2011-11-17 | Canon Europa N.V. | Print management systems |
CN103973692A (zh) * | 2014-05-13 | 2014-08-06 | 浙江大学 | 基于虚拟打印的电子档案自动采集系统及采集方法 |
CN104636091A (zh) * | 2013-11-07 | 2015-05-20 | 精工爱普生株式会社 | 打印控制系统 |
CN107464382A (zh) * | 2017-07-25 | 2017-12-12 | 百望金赋科技有限公司 | 一体化税控机以及税控方法 |
CN107767194A (zh) * | 2017-10-23 | 2018-03-06 | 百望金赋科技有限公司 | 基于一体化税控机的本地开票系统及方法 |
-
2018
- 2018-12-15 CN CN201811537426.5A patent/CN109766062A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110279861A1 (en) * | 2010-05-14 | 2011-11-17 | Canon Europa N.V. | Print management systems |
CN104636091A (zh) * | 2013-11-07 | 2015-05-20 | 精工爱普生株式会社 | 打印控制系统 |
CN103973692A (zh) * | 2014-05-13 | 2014-08-06 | 浙江大学 | 基于虚拟打印的电子档案自动采集系统及采集方法 |
CN107464382A (zh) * | 2017-07-25 | 2017-12-12 | 百望金赋科技有限公司 | 一体化税控机以及税控方法 |
CN107767194A (zh) * | 2017-10-23 | 2018-03-06 | 百望金赋科技有限公司 | 基于一体化税控机的本地开票系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110278278A (zh) * | 2019-06-26 | 2019-09-24 | 深圳市迅雷网络技术有限公司 | 一种数据传输方法、系统、装置及计算机介质 |
CN112965673A (zh) * | 2021-03-24 | 2021-06-15 | 北京有竹居网络技术有限公司 | 内容的打印方法、装置、设备及存储介质 |
WO2022199376A1 (zh) * | 2021-03-24 | 2022-09-29 | 北京有竹居网络技术有限公司 | 内容的打印方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106779716B (zh) | 基于区块链账户地址的认证方法、装置及系统 | |
CN104169952B (zh) | 一种网络支付方法、装置及系统 | |
CN110266656B (zh) | 免密认证身份识别方法、装置及计算机设备 | |
CN108833521A (zh) | 消息推送方法、装置、系统、计算机设备和存储介质 | |
CN107888592A (zh) | 一种vpn登录认证方法及装置 | |
CN110365766A (zh) | 基于区块链的云存储方法、设备及计算机可读存储介质 | |
CN109309684A (zh) | 一种业务访问方法、装置、终端、服务器及存储介质 | |
CN111275448A (zh) | 人脸数据处理方法、装置和计算机设备 | |
CN109766062A (zh) | 基于php服务的网页内容打印方法、装置、设备及存储介质 | |
CN107872445A (zh) | 接入认证方法、设备和认证系统 | |
CN109600337A (zh) | 资源处理方法、装置、系统及计算机可读介质 | |
CN109981739A (zh) | 基于区块链的会话数据处理方法、装置、设备及介质 | |
CN104253787A (zh) | 业务认证方法和系统 | |
CN107645474B (zh) | 登录开放平台的方法及登录开放平台的装置 | |
CN108093097A (zh) | 摄像头与家庭网关的连接方法及家庭网关 | |
CN112954647A (zh) | 车辆蓝牙钥匙注册方法、装置、计算机设备及存储介质 | |
CN109711140A (zh) | 站点登录状态控制方法、装置、计算机设备及存储介质 | |
CN103747423B (zh) | 一种终端应用的注册方法、装置和系统 | |
CN110225511B (zh) | 终端imei号的获取方法、装置、系统和计算机设备 | |
CN109361639A (zh) | 动态共享https请求鉴权方法、存储介质及移动终端 | |
EP3313039A1 (en) | Home gateway, communication management method and communication system thereof | |
CN114157472B (zh) | 一种网络访问控制方法、装置、设备及存储介质 | |
CN112732676B (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
CN110768886B (zh) | 应用程序自动连接vpn方法、装置、计算机设备和介质 | |
CN111932326B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190517 |