搜索
查看: 2616|回复: 2

web.kit如何设置模拟一个浏览器?

[复制链接]

3

主题

18

帖子

114

积分

一级会员

Rank: 2

积分
114
发表于 2018-1-26 19:48:51 | 显示全部楼层 |阅读模式
用360安全浏览器,访问php制作的网站,用php打印出的$_SERVER数据,
与在aardio中使用web.kit访问,获取的打印数据有出入,web.kit模拟的浏览器没有:HTTP_CONNECTION:keep-alive,HTTP_COOKIE等数据。
请问要如何设置web.kit,能够模拟出这些数据。谢谢。
下面附打印数据。


360安全浏览器打印数据如下:
HTTP_HOST:dianbo
HTTP_CONNECTION:keep-alive
HTTP_CACHE_CONTROL:max-age=0
HTTP_UPGRADE_INSECURE_REQUESTS:1
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_ENCODING:gzip, deflate, sdch
HTTP_ACCEPT_LANGUAGE:zh-CN,zh;q=0.8
HTTP_COOKIE:Hm_lvt_69d1b34b7587a6e79f114be962e59d3b=1507708512; __guid=111101840.3958568441020985000.1511266841034.6475; PHPSESSID=qno65it1e999c1hsg8lpkq61f2; menuid=130; thinkphp_show_page_trace=0|0; monitor_count=53
PATH:C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;D:\Program Files (x86)\Fiddler2

SystemRoot:C:\Windows
COMSPEC:C:\Windows\system32\cmd.exe
PATHEXT:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
WINDIR:C:\Windows
SERVER_SIGNATURE:
SERVER_SOFTWARE:Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.5.38
SERVER_NAME:dianbo
SERVER_ADDR:127.0.0.1
SERVER_PORT:80
REMOTE_ADDR:127.0.0.1
DOCUMENT_ROOT:D:/www/lvye3
REQUEST_SCHEME:http
CONTEXT_PREFIX:
CONTEXT_DOCUMENT_ROOT:D:/www/lvye3
SERVER_ADMIN:admin@phpStudy.net
SCRIPT_FILENAME:D:/www/lvye3/info.php
REMOTE_PORT:60740
GATEWAY_INTERFACE:CGI/1.1
SERVER_PROTOCOL:HTTP/1.1
REQUEST_METHOD:GET
QUERY_STRING:
REQUEST_URI:/info.php
SCRIPT_NAME:/info.php
PHP_SELF:/info.php
REQUEST_TIME_FLOAT:1516965308.861
REQUEST_TIME:1516965308

web.kit内建浏览器打印数据如下:HTTP_HOST:dianbo
HTTP_ACCEPT_ENCODING:identity
HTTP_ACCEPT_LANGUAGE:zh-CN,en,*
HTTP_ACCEPT_CHARSET:GBK,utf-8;q=0.7,*;q=0.3
HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.2 (KHTML, like Gecko) Safari/535.2 wke/1.2
HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
PATH:C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\QuickTime\QTSystem\;D:\Program Files (x86)\Fiddler2
SystemRoot:C:\Windows
COMSPEC:C:\Windows\system32\cmd.exe
PATHEXT:.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
WINDIR:C:\Windows
SERVER_SIGNATURE:
SERVER_SOFTWARE:Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.5.38
SERVER_NAME:dianbo
SERVER_ADDR:127.0.0.1
SERVER_PORT:80
REMOTE_ADDR:127.0.0.1
DOCUMENT_ROOT:D:/www/lvye3
REQUEST_SCHEME:http
CONTEXT_PREFIX:
CONTEXT_DOCUMENT_ROOT:D:/www/lvye3
SERVER_ADMIN:admin@phpStudy.net
SCRIPT_FILENAME:D:/www/lvye3/info.php
REMOTE_PORT:60781
GATEWAY_INTERFACE:CGI/1.1
SERVER_PROTOCOL:HTTP/1.1
REQUEST_METHOD:GET
QUERY_STRING:
REQUEST_URI:/info.php
SCRIPT_NAME:/info.php
PHP_SELF:/info.php
REQUEST_TIME_FLOAT:1516965542.115
REQUEST_TIME:1516965542


回复

使用道具 举报

185

主题

2541

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13974
发表于 2018-1-26 21:04:54 | 显示全部楼层
WebKit 本来就是一个浏览器控件,不用模拟一个浏览器吧。

当然,360浏览器是给最终用户使用的成品,他的功能都是写好的,你自己写浏览器可能有些地方需要写代码,例如你说的cookie功能你要自己设置一下,你可以点aardio开始页上的“使用WebKit必读教程” -- 这个看一下,关键代码:
//创建web窗体
import web.kit.form

//设置cookie存储路径
web.kit.configure({
    cookieFilePath =
"/cookie";
})

var wk = web.kit.form( winform );

//启用cookie
wk.cookieEnabled = true;
不同浏览器的HTTP头可能不是完全一样的,webkit也是精简过的组件,如果你需要一个完整的浏览器,可以使用 electron
回复

使用道具 举报

3

主题

18

帖子

114

积分

一级会员

Rank: 2

积分
114
 楼主| 发表于 2018-1-27 16:40:25 | 显示全部楼层
Jacen.He 发表于 2018-1-26 21:04
WebKit 本来就是一个浏览器控件,不用模拟一个浏览器吧。

当然,360浏览器是给最终用户使用的成品,他的 ...

谢谢回复,我试一下。cookieFilePath没有设置过。我试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-11-17 19:31 , Processed in 0.062500 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表