2011年9月3日星期六

[PerlChina] Re: 如何用Perl来实现像Opera浏览器的主要功能

谢谢truncatei分享,你提供的这个包,和我需要的功能类似,
其实就是让Perl可以和浏览器的API进行通信,我看了WWW::Mechanize::Firefox这个包其实是和Firefox安装
MozRepl插件后启动的端口进行通知
提交一个Url,获取到Firefox访问这个Url返回的结果。并且包含了status_line等信息,挺实用的
不过还存在一个问题,
使用WWW::Mechanize::Firefox模块后,返回的内容其实和在Firefox输入网址一样了。
但是Firefox默认对wml站点支持不了,安装了Wmlbrowse插件后,可以支持访问Content_type为wml的站点,但是对于这些站
点上的Oneterforward并不会自动跳转,
会停留在跳转页面上,需要你去点击"点击进入"这种链接后才会到达最终页面,是否有办法可以让这个Content_type为wml的网站自动跳转到最
终地址?


附上自己测试的过程记录

Perl如何实现和Firefox API通信

一、如何开放Firefox浏览器的API
系统版本:winxp 32Bit
Firefox版本:3.6.21
MozRepl版本:1.0

1、安装MozRepl插件
首先在一台安装了Firefox的winxp机器(理论上Linux机器也可以)使用Firefox访问下面MozRepl插件的下载地址
https://github.com/bard/mozrepl/wiki
下载好能支持Firefox的版本后,会要求重启Firefox

2、启动MozRepl插件的服务,开启Firefox的API
在Firefox的工具选项中点击MozRepl这个菜单,有三个会用到的功能
Start【启动功能,点击默认会在本机开启一个127.0.0.1:4242的端口】
Activate on Startup【开启Firefox时就自动启动】
Allow Outside Connections【允许所有访问,将4242端口监听在0.0.0.0上】

3、测试Firefox的API是否启动成功
telnet 127.0.0.1 4242
如果有一个MozRepl的提示信息,就说明Firefox的API已经启动成功

二、Perl如何访问Firefox的API
1、在环境变量中配置Firefox API所监听的地址和端口
如果不在这里配置MOZREPL的地址,下面安装WWW::Mechanize::Firefox模块时,就会提示连接到locahost 4242失
败,
因为默认会认为Firefox API监听地址为本机
export MOZREPL="192.168.20.235:4242"

2、安装Perl所需要的模块WWW::Mechanize::Firefox
通过这个模块,可以实现Perl和Firefox MozRepl插件实现的API接口通信
使用cpan安装WWW::Mechanize::Firefox模块
cpan WWW::Mechanize::Firefox

3、Perl和Firefox API通信的范例脚本
#!/usr/bin/env perl

use strict;
use warnings;
use Data::Dumper;
use WWW::Mechanize::Firefox;

my $url = shift;
# 如果没在环境变量是配置,也可以直接在Perl脚本中定义
# $ENV{MOZREPL} = "192.168.20.235:4242";
my $mech = WWW::Mechanize::Firefox->new(activate => 1,);
$mech->get($url);
print $mech->content . "\n";;
print $mech->status . "\n";;


On 9月3日, 上午11时43分, truncatei <trunca...@gmail.com> wrote:
> 曾经看到这么一个包,希望对你有帮助
>
> http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.55/lib/WWW/Mec...
>
> $mech->eval( $str [, $env [, $document]] )
>
> my ($value, $type) = $mech->eval( '2+2' );
>
> Evaluates the given Javascript fragment in the context of the web
> page. Returns a pair of value and Javascript type.
>
> This allows access to variables and functions declared "globally" on
> the web page.
>
> 2011/9/2 Morya Feng <mo...@is-coder.com>:
>
>
>
> > 如果不限定语言的话,用别的语言写一个工具,只是用perl取得
> > 一下返回值和返回一些具体的执行结果字符串是不是可行?
> > 比如,用python + PySide/PyQt + QtWebkit
> > 在 2011年9月2日 上午10:18,liseen <liseen....@gmail.com>写道:
>
> >> Hi, all
> >> 用QtWebkit 吧, 用c++ 写, 接口很简单, 执行js什么的都没有问题。
> >> xunxin
> >> 2011/9/2 eexpress <eex...@gmail.com>
>
> >>> 兼容测试?实际用浏览器测试好些。WWW::Mechanize不支持js,常规抓网页/提交内容,倒是顺手。Opera的菜单可以调用perl脚本,传递些Opera内部参数,这可以的。
>
> >>> 在 Thu, 01 Sep 2011 22:04:47 +0800,Jeova Sanctus Unus
> >>> <jeova.sanctus.u...@gmail.com> 写道:
>
> >>>> 按需写perl,该执行js,就找个模块来跑嘛,;)
> >>>> 在 2011-9-1 下午8:09,"洋葱" <fine...@gmail.com>写道:
>
> >>>>> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
> >>>>> 都超过1024字节。
>
> >>>>> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
> >>>>> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>
> >>>>> 但是如果要兼容这些网站,就会存在一些问题,
> >>>>> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
> >>>>> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
> >>>>> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>
> >>>>> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
> >>>>> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>
> >>>>> --
> >>>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> >>>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> >>>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> >>>>> 若有更多问题,请通过http://groups.google.com/group/perlchina?hl=zh-CN访问此网上论坛。
>
> >>> --
> >>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> >>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> >>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> >>> 若有更多问题,请通过http://groups.google.com/group/perlchina?hl=zh-CN访问此网上论坛。
>
> >> --
> >> - xunxin 万�新
> >> - 技术部搜索组工程师
> >> - Tel: 86-10-5760 3320
>
> >> - Mobile: 86-13811636901
>
> >> --
> >> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> >> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> >> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> >> 若有更多问题,请通过http://groups.google.com/group/perlchina?hl=zh-CN访问此网上论坛。
>
> > --
> > 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> > 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> > 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> > 若有更多问题,请通过http://groups.google.com/group/perlchina?hl=zh-CN访问此网上论坛。
>
> --
> 如果觉得无聊,您不妨访问Google Reader消遣https://www.google.com/reader/view
> 要尝试黑版本Google,请访问http://tinyurl.com/yk3yp7j

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年9月2日星期五

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

不知道这东西成不。
http://seleniumhq.org/


在 2011-9-3,上午11:43, truncatei 写道:

> 曾经看到这么一个包,希望对你有帮助
>
> http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.55/lib/WWW/Mechanize/Firefox.pm
>
> $mech->eval( $str [, $env [, $document]] )
>
> my ($value, $type) = $mech->eval( '2+2' );
>
> Evaluates the given Javascript fragment in the context of the web
> page. Returns a pair of value and Javascript type.
>
> This allows access to variables and functions declared "globally" on
> the web page.
>
>
>
> 2011/9/2 Morya Feng <morya@is-coder.com>:
>> 如果不限定语言的话,用别的语言写一个工具,只是用perl取得
>> 一下返回值和返回一些具体的执行结果字符串是不是可行?
>> 比如,用python + PySide/PyQt + QtWebkit
>> 在 2011年9月2日 上午10:18,liseen <liseen.wan@gmail.com>写道:
>>>
>>> Hi, all
>>> 用QtWebkit 吧, 用c++ 写, 接口很简单, 执行js什么的都没有问题。
>>> xunxin
>>> 2011/9/2 eexpress <eexp01@gmail.com>
>>>>
>>>>
>>>> 兼容测试?实际用浏览器测试好些。WWW::Mechanize不支持js,常规抓网页/提交内容,倒是顺手。Opera的菜单可以调用perl脚本,传递些Opera内部参数,这可以的。
>>>>
>>>> 在 Thu, 01 Sep 2011 22:04:47 +0800,Jeova Sanctus Unus
>>>> <jeova.sanctus.unus@gmail.com> 写道:
>>>>
>>>>> 按需写perl,该执行js,就找个模块来跑嘛,;)
>>>>> 在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
>>>>>>
>>>>>> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
>>>>>> 都超过1024字节。
>>>>>>
>>>>>> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
>>>>>> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>>>>>>
>>>>>> 但是如果要兼容这些网站,就会存在一些问题,
>>>>>> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
>>>>>> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
>>>>>> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>>>>>>
>>>>>> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
>>>>>> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>>>>>>
>>>>>> --
>>>>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>>>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>>>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>>>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>>
>>>
>>>
>>>
>>> --
>>> - xunxin 万�新
>>> - 技术部搜索组工程师
>>> - Tel: 86-10-5760 3320
>>>
>>> - Mobile: 86-13811636901
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>
>
>
>
> --
> 如果觉得无聊,您不妨访问Google Reader消遣 https://www.google.com/reader/view
> 要尝试黑版本Google,请访问 http://tinyurl.com/yk3yp7j
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

曾经看到这么一个包,希望对你有帮助

http://search.cpan.org/~corion/WWW-Mechanize-Firefox-0.55/lib/WWW/Mechanize/Firefox.pm

$mech->eval( $str [, $env [, $document]] )

my ($value, $type) = $mech->eval( '2+2' );

Evaluates the given Javascript fragment in the context of the web
page. Returns a pair of value and Javascript type.

This allows access to variables and functions declared "globally" on
the web page.

2011/9/2 Morya Feng <morya@is-coder.com>:
> 如果不限定语言的话,用别的语言写一个工具,只是用perl取得
> 一下返回值和返回一些具体的执行结果字符串是不是可行?
> 比如,用python + PySide/PyQt + QtWebkit
> 在 2011年9月2日 上午10:18,liseen <liseen.wan@gmail.com>写道:
>>
>> Hi, all
>> 用QtWebkit 吧, 用c++ 写, 接口很简单, 执行js什么的都没有问题。
>> xunxin
>> 2011/9/2 eexpress <eexp01@gmail.com>
>>>
>>>
>>> 兼容测试?实际用浏览器测试好些。WWW::Mechanize不支持js,常规抓网页/提交内容,倒是顺手。Opera的菜单可以调用perl脚本,传递些Opera内部参数,这可以的。
>>>
>>> 在 Thu, 01 Sep 2011 22:04:47 +0800,Jeova Sanctus Unus
>>> <jeova.sanctus.unus@gmail.com> 写道:
>>>
>>>> 按需写perl,该执行js,就找个模块来跑嘛,;)
>>>> 在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
>>>>>
>>>>> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
>>>>> 都超过1024字节。
>>>>>
>>>>> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
>>>>> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>>>>>
>>>>> 但是如果要兼容这些网站,就会存在一些问题,
>>>>> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
>>>>> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
>>>>> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>>>>>
>>>>> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
>>>>> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>>>>>
>>>>> --
>>>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>>>
>>>>
>>>
>>>
>>> --
>>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>>>
>>
>>
>>
>> --
>> - xunxin 万�新
>> - 技术部搜索组工程师
>> - Tel: 86-10-5760 3320
>>
>> - Mobile: 86-13811636901
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
如果觉得无聊,您不妨访问Google Reader消遣 https://www.google.com/reader/view
要尝试黑版本Google,请访问 http://tinyurl.com/yk3yp7j

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

如果不限定语言的话,用别的语言写一个工具,只是用perl取得
一下返回值和返回一些具体的执行结果字符串是不是可行?
比如,用python + PySide/PyQt + QtWebkit

在 2011年9月2日 上午10:18,liseen <liseen.wan@gmail.com>写道:
Hi, all

用QtWebkit 吧, 用c++ 写, 接口很简单, 执行js什么的都没有问题。

xunxin

2011/9/2 eexpress <eexp01@gmail.com>
兼容测试?实际用浏览器测试好些。WWW::Mechanize不支持js,常规抓网页/提交内容,倒是顺手。Opera的菜单可以调用perl脚本,传递些Opera内部参数,这可以的。

在 Thu, 01 Sep 2011 22:04:47 +0800,Jeova Sanctus Unus <jeova.sanctus.unus@gmail.com> 写道:


按需写perl,该执行js,就找个模块来跑嘛,;)
在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
都超过1024字节。

目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content

但是如果要兼容这些网站,就会存在一些问题,
1、比如网站的302 301Location要了识别并跟进【这个还好解决】
2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
想把所有网站都兼容好,那相当于写了一个Opera浏览器了。

Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
接口供调用,发现也没有这个功能。大家有什么好建议吗?

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
- xunxin 万�新
- 技术部搜索组工程师
Tel: 86-10-5760 3320

- Mobile: 86-13811636901


--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年9月1日星期四

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

Hi, all

用QtWebkit 吧, 用c++ 写, 接口很简单, 执行js什么的都没有问题。

xunxin

2011/9/2 eexpress <eexp01@gmail.com>
兼容测试?实际用浏览器测试好些。WWW::Mechanize不支持js,常规抓网页/提交内容,倒是顺手。Opera的菜单可以调用perl脚本,传递些Opera内部参数,这可以的。

在 Thu, 01 Sep 2011 22:04:47 +0800,Jeova Sanctus Unus <jeova.sanctus.unus@gmail.com> 写道:


按需写perl,该执行js,就找个模块来跑嘛,;)
在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
都超过1024字节。

目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content

但是如果要兼容这些网站,就会存在一些问题,
1、比如网站的302 301Location要了识别并跟进【这个还好解决】
2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
想把所有网站都兼容好,那相当于写了一个Opera浏览器了。

Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
接口供调用,发现也没有这个功能。大家有什么好建议吗?

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。




--
- xunxin 万�新
- 技术部搜索组工程师
Tel: 86-10-5760 3320

- Mobile: 86-13811636901


--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

兼容测试?实际用浏览器测试好些。WWW::Mechanize不支持js,常规抓网页/提交内容,倒是顺手。Opera的菜单可以调用perl脚本,传递些Opera内部参数,这可以的。

在 Thu, 01 Sep 2011 22:04:47 +0800,Jeova Sanctus Unus
<jeova.sanctus.unus@gmail.com> 写道:

> 按需写perl,该执行js,就找个模块来跑嘛,;)
> 在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
>> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
>> 都超过1024字节。
>>
>> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
>> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>>
>> 但是如果要兼容这些网站,就会存在一些问题,
>> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
>> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
>> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>>
>> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
>> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers
>> 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至
>> perlchina+unsubscribe@googlegroups.com
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN
>> 访问此网上论坛。
>>
>


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re:Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

LWP

真的要弄一浏览器难度太大了。。。


在 2011-09-01 22:04:47,"Jeova Sanctus Unus" <jeova.sanctus.unus@gmail.com> 写道:

按需写perl,该执行js,就找个模块来跑嘛,;)

在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
> 都超过1024字节。
>
> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>
> 但是如果要兼容这些网站,就会存在一些问题,
> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>
> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。


--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] Re: 如何用Perl来实现像Opera浏览器的主要功能

谢谢大家的回复。如果不考虑JS的情况下,有现成的车轮吗?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

按需写perl,该执行js,就找个模块来跑嘛,;)

在 2011-9-1 下午8:09,"洋葱" <fine102@gmail.com>写道:
> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
> 都超过1024字节。
>
> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>
> 但是如果要兼容这些网站,就会存在一些问题,
> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>
> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

这些还好,最怕js,很多js浏览器都不一定支持呢。

2011/9/1 洋葱 <fine102@gmail.com>:
> 请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
> 都超过1024字节。
>
> 目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
> 转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content
>
> 但是如果要兼容这些网站,就会存在一些问题,
> 1、比如网站的302 301Location要了识别并跟进【这个还好解决】
> 2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
> 想把所有网站都兼容好,那相当于写了一个Opera浏览器了。
>
> Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
> 接口供调用,发现也没有这个功能。大家有什么好建议吗?
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
>

--
contact me:
MSN: walkerxk@gmail.com
GTALK: walkerxk@gmail.com

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 如何用Perl来实现像Opera浏览器的主要功能

请教一个Perl方面问题,生产中有需要使用Perl去测试一大堆手机网站,想判断这些网址是否最后都可以成功打开,并且判断返回的Content长度
都超过1024字节。

目的:可以使用脚本对网站进行测试,如果网址有302或301跳转会自动跟进,如果网站有onenterforward或ontimer这种页面内的跳
转也能够自动跳转,直至跟进到最后的页面,返回最后页面的status_line和content

但是如果要兼容这些网站,就会存在一些问题,
1、比如网站的302 301Location要了识别并跟进【这个还好解决】
2、如页有些网站的跳转是通过页面的refresh或者一些onenterforward、ontimer等等各种各样的花样百出的来实现的,其实如果
想把所有网站都兼容好,那相当于写了一个Opera浏览器了。

Perl是否可以直接调取现成的包,来实现这个功能,我在网上找过了,没有发现有这么功能的模块。我又想过装个Linux版本下的Opera,看是否有
接口供调用,发现也没有这个功能。大家有什么好建议吗?

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年8月30日星期二

[PerlChina] Re: 请教一个编码转换的问题

其实你不如安装uni2ascii。

On Aug 29, 3:10 pm, Phillip Huang <phillip.hw...@gmail.com> wrote:
> 各位,
>
> 我得到一组八进制转码的 UTF-8
>
> \347\234\213\346\235\245\
>
> 请问有没有什么办法(perl脚本)将其转换为中文?
>
> PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是"看来"二字)。
>
> 谢谢,
>
> ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

2011年8月29日星期一

Re: [PerlChina] perl如何获取linux系统的硬件信息

解析 /dev/mem 建议直接看 dmidecode 的源码。

2011/8/30 Gary.jsz <gary.jsz@gmail.com>:
> /dev/mem文件是二进制的文件,不知道如何去分析,还请指导指导,谢谢!
>
>
>
>
>
>
> ======= 2011-08-30 12:30 Lee Duhem 您在来信中写到:Re: [PerlChina]
> perl如何获取linux系统的硬件信息 =======
>
> dmidecode(8) 就是读取 /dev/mem 并解析(对应信息在 /sys, /proc 下不存在), Perl
> 自然也是可以做的。其实就相当于用 Perl 实现 dmidecode 的功能。 2011/8/30 Gary.jsz
> <gary.jsz@gmail.com>: > 大家好 > > 最近想用perl来获取linux系统的硬件信息,比如:
> 该硬件的厂商、硬件序列号、bios信息等 > >
> 版本高一点的linux系统似乎有自带pmtools包(dmidecode),但是版本低的却没有,所以想纯使用perl来获取这些信息,请问是否可以做的到?
>> 如何做? > > 谢谢! > > -- > 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 > 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com。 > 若有更多问题,请通过
> http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >
> -- 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。要向此网上论坛发帖,请发送电子邮件至
> perlchina@googlegroups.com。要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com。若有更多问题,请通过
> http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
> = = = = = = = = = = = = = = = = = = = =
>
> ----
> Gary.jsz
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 美国Mason公司招聘Perl工程师.

有意者,请回复此邮件哈, 我会在2个工作日内与你联系. (QQ: 727380625)


* 工作经验2年以上。
* 深刻领会面向对象的思想,有网站开发经验,熟悉Linux, Perl, PHP者优先。
* 一定的英文读写和沟通能力,我们的书面交流主要是英语(如项目管理和程序注释,每周有国外工程师参与的在线会议)。

* 熟悉以下技术或工具: ORACLE / MYSQL,  JavaScript / JQuery, XML / HTML / CSS, Subversion等。
 *有良好的团队协作能力,善于与团队沟通和交流, 工作积极主动,具有自主学习能力和良好的工作态度, 富有责任心和创新精神。
* 成都,全职。
* 提供一个月带薪脱产学习Perl机会(学习期工资3000元或以上)。
* 未来可与国外世界一流工程师合作,参与新项目的开发,并获得国内、外高级工程师的现场培训

Cathy

HR manager

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个编码转换的问题

这个太有意思了
真没想到perl的内部字符形式就是这样存储的


在 2011年8月29日 下午5:41,cnhack TNT <cnhacktnt@gmail.com>写道:
介个.... UTF8 环境下直接用双引号就好了:

$string = "\347\234\213\346\235\245";
print $string;

win 系统下用 Encode 转码一下:
use Encode;
$string = decode_utf8("\347\234\213\346\235\245");
print encode("gbk", $string);

:-)


2011/8/29 Phillip Huang <phillip.hwong@gmail.com>
非常感谢!



2011/8/29 Achilles Xu <formalin14@gmail.com>
my $x = "\\347\\234\\213\\346\\235\\245";

my @octs = split /\\/, $x;

my @ints;

for my $oct (@octs) {
  $oct = "0" . $oct;
  push @ints, oct($oct);
}

my $str = "";
for my $int (@ints) {
  $str .= chr($int);
}

print $str, "\n";

在我的机器上测试输出成功。终端编码是utf-8.

在 2011年8月29日 下午3:10,Phillip Huang <phillip.hwong@gmail.com>写道:
各位,

我得到一组八进制转码的 UTF-8

  \347\234\213\346\235\245\

请问有没有什么办法(perl脚本)将其转换为中文?

PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是“看来”二字)。

谢谢,

ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
---------------------------
Achilles Xu

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
woosley.xu.    http://twitter.com/redicaps



--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

答复: [PerlChina] Re: perl如何获取linux系统的硬件信息

这个脚本是很强大,1w多行,但是硬件信息都是手工对应上的,如果有新的硬件的话,那估计就查不到了,如果能做到自动更新就更好了。





======= 2011-08-30 12:36 洋葱 您在来信中写到:[PerlChina] Re: perl如何获取linux系统的硬件信息 =======

On 8月30日, 上午11时50分, "Gary.jsz" <gary....@gmail.com> wrote: > 大家好 > > 最近想用perl来获取linux系统的硬件信息,比如: 该硬件的厂商、硬件序列号、bios信息等 > > 版本高一点的linux系统似乎有自带pmtools包(dmidecode),但是版本低的却没有,所以想纯使用perl来获取这些信息,请问是否可以做的到? 如何做? > > 谢谢! 你看下这个Perl脚本是否可以满足 http://heylinux.com/archives/1179.html

-- 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

= = = = = = = = = = = = = = = = = = = =

----
Gary.jsz

Re: [PerlChina] perl如何获取linux系统的硬件信息

/dev/mem文件是二进制的文件,不知道如何去分析,还请指导指导,谢谢!






======= 2011-08-30 12:30 Lee Duhem 您在来信中写到:Re: [PerlChina] perl如何获取linux系统的硬件信息 =======

dmidecode(8) 就是读取 /dev/mem 并解析(对应信息在 /sys, /proc 下不存在), Perl 自然也是可以做的。其实就相当于用 Perl 实现 dmidecode 的功能。 2011/8/30 Gary.jsz <gary.jsz@gmail.com>: > 大家好 > > 最近想用perl来获取linux系统的硬件信息,比如: 该硬件的厂商、硬件序列号、bios信息等 > > 版本高一点的linux系统似乎有自带pmtools包(dmidecode),但是版本低的却没有,所以想纯使用perl来获取这些信息,请问是否可以做的到? > 如何做? > > 谢谢! > > -- > 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。 > 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。 > 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。 > 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。 >
-- 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

= = = = = = = = = = = = = = = = = = = =

----
Gary.jsz

[PerlChina] Re: perl如何获取linux系统的硬件信息

On 8月30日, 上午11时50分, "Gary.jsz" <gary....@gmail.com> wrote:
> 大家好
>
> 最近想用perl来获取linux系统的硬件信息,比如: 该硬件的厂商、硬件序列号、bios信息等
>
> 版本高一点的linux系统似乎有自带pmtools包(dmidecode),但是版本低的却没有,所以想纯使用perl来获取这些信息,请问是否可以做的到? 如何做?
>
> 谢谢!

你看下这个Perl脚本是否可以满足
http://heylinux.com/archives/1179.html

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] perl如何获取linux系统的硬件信息

dmidecode(8) 就是读取 /dev/mem 并解析(对应信息在 /sys, /proc 下不存在),
Perl 自然也是可以做的。其实就相当于用 Perl 实现 dmidecode 的功能。

2011/8/30 Gary.jsz <gary.jsz@gmail.com>:
> 大家好
>
> 最近想用perl来获取linux系统的硬件信息,比如: 该硬件的厂商、硬件序列号、bios信息等
>
> 版本高一点的linux系统似乎有自带pmtools包(dmidecode),但是版本低的却没有,所以想纯使用perl来获取这些信息,请问是否可以做的到?
> 如何做?
>
> 谢谢!
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] perl如何获取linux系统的硬件信息

大家好

    最近想用perl来获取linux系统的硬件信息,比如: 该硬件的厂商、硬件序列号、bios信息等

版本高一点的linux系统似乎有自带pmtools包(dmidecode),但是版本低的却没有,所以想纯使用perl来获取这些信息,请问是否可以做的到? 如何做?

谢谢!

Re: [PerlChina] 请教一个编码转换的问题

嗯,是的,之前调试时发现没转义的话,$x直接就是中文字符串了。

从文本里读入的时候再用我的方法吧。

在 2011年8月29日 下午5:41,cnhack TNT <cnhacktnt@gmail.com>写道:
介个.... UTF8 环境下直接用双引号就好了:

$string = "\347\234\213\346\235\245";
print $string;

win 系统下用 Encode 转码一下:
use Encode;
$string = decode_utf8("\347\234\213\346\235\245");
print encode("gbk", $string);

:-)


2011/8/29 Phillip Huang <phillip.hwong@gmail.com>
非常感谢!



2011/8/29 Achilles Xu <formalin14@gmail.com>
my $x = "\\347\\234\\213\\346\\235\\245";

my @octs = split /\\/, $x;

my @ints;

for my $oct (@octs) {
  $oct = "0" . $oct;
  push @ints, oct($oct);
}

my $str = "";
for my $int (@ints) {
  $str .= chr($int);
}

print $str, "\n";

在我的机器上测试输出成功。终端编码是utf-8.

在 2011年8月29日 下午3:10,Phillip Huang <phillip.hwong@gmail.com>写道:
各位,

我得到一组八进制转码的 UTF-8

  \347\234\213\346\235\245\

请问有没有什么办法(perl脚本)将其转换为中文?

PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是“看来”二字)。

谢谢,

ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
---------------------------
Achilles Xu

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
---------------------------
Achilles Xu

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个编码转换的问题

介个.... UTF8 环境下直接用双引号就好了:

$string = "\347\234\213\346\235\245";
print $string;

win 系统下用 Encode 转码一下:
use Encode;
$string = decode_utf8("\347\234\213\346\235\245");
print encode("gbk", $string);

:-)

2011/8/29 Phillip Huang <phillip.hwong@gmail.com>
非常感谢!



2011/8/29 Achilles Xu <formalin14@gmail.com>
my $x = "\\347\\234\\213\\346\\235\\245";

my @octs = split /\\/, $x;

my @ints;

for my $oct (@octs) {
  $oct = "0" . $oct;
  push @ints, oct($oct);
}

my $str = "";
for my $int (@ints) {
  $str .= chr($int);
}

print $str, "\n";

在我的机器上测试输出成功。终端编码是utf-8.

在 2011年8月29日 下午3:10,Phillip Huang <phillip.hwong@gmail.com>写道:
各位,

我得到一组八进制转码的 UTF-8

  \347\234\213\346\235\245\

请问有没有什么办法(perl脚本)将其转换为中文?

PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是“看来”二字)。

谢谢,

ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
---------------------------
Achilles Xu

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个编码转换的问题

非常感谢!



2011/8/29 Achilles Xu <formalin14@gmail.com>
my $x = "\\347\\234\\213\\346\\235\\245";

my @octs = split /\\/, $x;

my @ints;

for my $oct (@octs) {
  $oct = "0" . $oct;
  push @ints, oct($oct);
}

my $str = "";
for my $int (@ints) {
  $str .= chr($int);
}

print $str, "\n";

在我的机器上测试输出成功。终端编码是utf-8.

在 2011年8月29日 下午3:10,Phillip Huang <phillip.hwong@gmail.com>写道:
各位,

我得到一组八进制转码的 UTF-8

  \347\234\213\346\235\245\

请问有没有什么办法(perl脚本)将其转换为中文?

PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是“看来”二字)。

谢谢,

ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
---------------------------
Achilles Xu

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

Re: [PerlChina] 请教一个编码转换的问题

my $x = "\\347\\234\\213\\346\\235\\245";

my @octs = split /\\/, $x;

my @ints;

for my $oct (@octs) {
  $oct = "0" . $oct;
  push @ints, oct($oct);
}

my $str = "";
for my $int (@ints) {
  $str .= chr($int);
}

print $str, "\n";

在我的机器上测试输出成功。终端编码是utf-8.

在 2011年8月29日 下午3:10,Phillip Huang <phillip.hwong@gmail.com>写道:
各位,

我得到一组八进制转码的 UTF-8

  \347\234\213\346\235\245\

请问有没有什么办法(perl脚本)将其转换为中文?

PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是“看来”二字)。

谢谢,

ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。



--
---------------------------
Achilles Xu

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。

[PerlChina] 请教一个编码转换的问题

各位,

我得到一组八进制转码的 UTF-8

  \347\234\213\346\235\245\

请问有没有什么办法(perl脚本)将其转换为中文?

PS: 我用了一个很笨的方法,在ubuntu的字符映射表中去查找(结果是“看来”二字)。

谢谢,

ph

--
您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com。
要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。