2010年9月25日星期六

Re: [PerlChina] lwp实现鉴权并下载文件

On 09/26/2010 01:18 PM, ZHANG Jiaqiang A wrote:
> Hello Qiang,
>
> 我直接用$browser-get($relink); print content还是要求登录输入用户名密码的页面。
>

又看了一下你的代码,你没有把 cookie 打开。

$browser->cookie_jar({});

有空把这篇文章看看 http://wiki.perlchina.org/LWP与WEB的基本使用

> 于是我后来才尝试用post加用户名,密码,结果这次倒是不要求登录了,print content啥内容都没有了……
>
>

Qiang

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

RE: [PerlChina] lwp实现鉴权并下载文件

Hello Qiang,

我直接用$browser-get($relink); print content还是要求登录输入用户名密码的页面。

于是我后来才尝试用post加用户名,密码,结果这次倒是不要求登录了,print content啥内容都没有了……

-----Original Message-----
From: perlchina@googlegroups.com [mailto:perlchina@googlegroups.com] On Behalf Of Qiang (James)
Sent: 2010年9月23日 22:40
To: perlchina@googlegroups.com
Subject: Re: [PerlChina] lwp实现鉴权并下载文件

登录后抓到文件下载的地址后,你的 $browser 相当于已经登录的浏览器,此时直
接用 $browser 抓取文件即可,不需要再 post 了。

Qiang

On 09/20/2010 02:43 PM, ZHANG Jiaqiang A wrote:
> 大家好,
> 我第一次用lwp遇到了困难,请大家给点建议。
> 想用lwp实现下面的情景(在浏览器下手动跑没有问题):浏览器地址栏输入一个
> URL(https),然后用户被要求输入用户名和密码,输入正确后,弹出了保存文件的
> 对话框,保存文件到本地。
> 我的做法:我先连同用户名,密码,发送URL,得到的回复如下:
>
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> <html><head>
> <title>302 Found</title>
> </head><body>
> <h1>Found</h1>
> <p>The document has moved <a href="https://xxx">here</a>.</p
> <https://xxx">here</a>.</p>>
> </body></html>
>
> *我猜*这是让我到 href指向的链接去拿文件吧?然后我用TokenParser把这个新的
> URL解析出来,连同我原来的用户名密码发出去,*然后print
> reseponse->content() 为空!*
> 不知道是哪里不对,这种问题怎么debug呢?
>
> # cat -n lwp.pl
> 1 #!/usr/bin/perl
> 2
> 3 use strict;
> 4 use LWP;
> 5 use HTML::TokeParser;
> 6
> 7 my $user = 'xxxxxx';
> 8 my $passwd = 'xxxxxx';
> 9
> 10 my $browser = LWP::UserAgent->new();
> 11
> 12 my $url = 'https://......';
> 13 my $response =
> 14 $browser->post( $url, [ 'username' =>, $user, 'password' =>
> $passwd ], );
> 15 my $content = $response->content();
> 16
> 17 my $stream = HTML::TokeParser->new( \$content );
> 18 my $relink;
> 19 while ( my $token = $stream->get_token() ) {
> 20 if ( $token->[0] eq 'S' ) {
> 21 my ( $tagname, $attr ) = @$token[ 1, 2 ];
> 22 print "tag:", $tagname, "\n";
> 23 if ( $tagname eq 'a' ) {
> 24 $relink = $attr->{'href'};
> 25 }
> 26 }
> 27 }
> 28
> 29 print "relink", $relink, "\n";
> 30
> 31 $response = $browser->post(
> 32 $relink,
> 33 [
> 34 username => $user,
> 35 password => $passwd,
> 36 ]
> 37 );
> 38 print "response begin\n";
> 39 print $response->content(); # ..
> 40 print "response end \n";
> 41
>

--
您收到此邮件是因为您订阅了 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] 请教一下,又没有这样的module!

hi, 

最简单的还是写文件记录状态,  另外可以试试启动的时候记录pid, 当调用模块时给自己发个 STOP 信号, 重启时判断pid 程序是否还在, 还在的话 发送个 CONT 信号, 让测试继续运行

xunxin

2010/9/10 kind terry <kindterry@gmail.com>
保存所有的运行环境?这不可能

2010/9/10 bob yang <learnin9@gmail.com>

1:做个flag呢?

在 2010年9月10日 上午8:46,Michael Zeng <galaxy2004@gmail.com>写道:

写文件倒是一个简单的方法


 
2010/9/8 Xiaojun Deng <xjdengz@gmail.com>

2010/9/8 亮康 <kangliang1982@gmail.com>:
> 我想让Perl脚本,运行到某一个地方调用该模块退出,并保存当时的所有运行环境,然后再次启动脚本可以使用这个模块恢复环境,继续执行退出的下一条语句。
> 不知道有没有这样的模块?
>

有些信息是内核才知道的吧,比如当前的 EIP 寄存器的信息,就是保存当前指令的。
可以把相关的统计信息写到文件中,再次启动时候初始化相关信息,然后从停掉的那条语句开始。

> --
> 您收到此邮件是因为您订阅了 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 访问此网上论坛。




--
            Yours Sincerely
                    Zeng Hong

--
您收到此邮件是因为您订阅了 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 访问此网上论坛。

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

Re: [PerlChina] Re: 求教一个算法

Hi,

呵呵, 不能反复遍历原数据去读取一个key, 应该全部读到hash 中, 遍历hash计算. 如果你的行数多的内存放不下, 就在外面先sort, 然后 就不用hash了, 逐行处理就okay了.  如果是sort 后的 给个简单的架子:

#!/usr/bin/evn perl

use strict;
use warnings;

my $last_key;

while (<>) {
    chomp; 
    
    next if !$_;
    
    my ($key, @vals) =  split / /, $_;
    
    if (!$last_key) {
    } else if ($key eq $last_key) {
    } else {
    } 
}   

if ($last_key) {
    # print the last one
}   

xunxin

2010/9/9 camelbbs <camelbbs@gmail.com>
Thanks so much everyone!

On Sep 7, 10:30 pm, Helc <crys...@gmail.com> wrote:
> #!/usr/bin/perl
> use strict;
> use warnings;
> use Data::Dumper;
>
> my %hash;
> my %line;
> while(<>){
>     my @a = split;
>     for (my $i=0;$i<=($#a-1);$i++) {
>         $hash{$a[0]}->[$i] += ($a[($i+1)] ne 'NA') ? $a[($i+1)] : 0;
>         $line{$a[0],($i+1)}++ if ($a[($i+1)] ne 'NA');
>     }
>
> }
>
> for my $k (keys %hash) {
>     for (my $i=0;$i<=(@{$hash{$k}}-2);$i++) {
>         $hash{$k}->[$i] /= $line{$k,($i+1)};
>     }}
>
> print Dumper(\%hash);
>
> 43000行,35列,试了下,4.04妙
>
> On 9月8日, 上午12时33分, chunjiang he <camel...@gmail.com> wrote:
>
>
>
> > 求教一个算法,上次问过,但是还是没有搞清楚。
>
> > 比如有这样一个矩阵:
>
> > sex    7.2  3.8  6.8  9.2  5.6
> > sex    5.4  2.3  4.6  8.9  9.0
> > sex    6.7  NA  7.8  9.0  3.1
> > goo    2.4  6.7  NA  9.0  2.1
> > goo    2.1  5.6  7.8  9.7  1.2
> > pkk    2.5  4.3  6.5  4.9  0.2
> > pkk    2.1  3.4  3.2  NA  4.6
> > pkk    3.2  5.6  6.7  9.1  2.2
> > ...
> > ...
> > ...
>
> > 这个矩阵很简单,就是有一些同名的行,现在我要做的是,把这些同名的行的数据按每一列合并起来,按什么合并,按照每一列的平均值来合并
>
> > 就是说,比如行名为sex的行,第一列数据为: 7.2, 5.4, 6.7 那么第一列的平均值就是(7.2+5.4+6.7)/3=6.4,
> > 第二列数据为3.8, 2.3, NA, 那么平均值就是  (3.8+2.3)/2=3,
> > 以此类推,得到每一列的平均值,作为最后的值,那么行名为sex的行最后就合并为:
> > sex  6.4  3  ....
>
> > 就是要写这样一个程序,原理很简单吧,但是鄙人的水平有限,写的程序效率上不去。
>
> > 我是这样写的,
>
> > 先用一个hash存下所有的行名:sex, goo, pkk.....
>
> > 然后遍历这个hash, foreach (%hash) { }
>
> > 每一次,把相同行名的行取出来放到一个数组@num中
>
> > 这个矩阵有一个值是确定的,那就是列数是确定的,所以对每一个数组@num, 我用for($i=0;$i<列数;$i++)
> > 循环,把每一列取出来,放到一个新的数组@haha中
>
> > 然后for($j=0;$j<@haha;$j++)  把@haha的平均值算出来,作为这一列的最后的值
>
> > 就是这样。。。
>
> > 程序我是写出来了,对于行数和列数都比较少的情况,程序没有什么问题。但是如果我有大量的行和列,比如有40000行,500列,这种情况下,这个程序就不是一 两天能跑完的了。我跑了三天,还没有跑完。工作情况是不允许我跑这么久的。
>
> > 恳请高手们帮忙指教。非常感谢!- Hide quoted text -
>
> - Show quoted text -

--
您收到此邮件是因为您订阅了 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] 请教在nginx中如何在返回的header中后端server的端口,ip等的问题

liseen at 2010-9-26 10:46 wrote:
> HI
>
> add header 的方法不是已经可以了嘛, 呵呵。
>
> agentzh 用的是echo模块, 把这两个变量打印出来,
>
> 建议你搜搜他的他的讲义, 之前他好像给过, 搜不到就直接问他要吧
>
> xunxin
>
>
> 2010/9/17 Eric.M <frederick.mao@gmail.com <mailto:frederick.mao@gmail.com>
>
> 记得在五道口的聚会上,好像agent提到过可以用nginx来实现这一功能,希
> 望能在header中得知,此次负责执行的到底是哪个ip,哪个端口的 server,
> 不知道是怎么实现的,我只找到了add_header这么一个方法,却不知道如何
> 获得到像127.0.1:8001这样的数据进行返回,
>
http://wiki.nginx.org/HttpUpstreamModule#.24upstream_addr
这个变量可以记录upstream的地址。
>
> 下面是我的部分nginx.conf配置
> upstream frontends {
> server 127.0.0.1:8001 <http://127.0.0.1:8001>
> max_fails=3 fail_timeout=30s;
> server 127.0.0.1:8002 <http://127.0.0.1:8002>;
> }
>
> proxy_pass_header Server;
> proxy_set_header Host $http_host;实现的
> proxy_redirect off;
> proxy_set_header X-Real-IP $remote_addr;
> proxy_set_header X-Scheme $scheme;
> proxy_pass http://frontends;
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨
> 论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> <mailto:perlchina@googlegroups.com>。
> 要取消订阅此网上论坛,请发送电子邮件至
> perlchina+unsubscribe@googlegroups.com
> <mailto:perlchina%2Bunsubscribe@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
> 访问此网上论坛。


--
Weibin Yao

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

Re: [PerlChina] 请教在nginx中如何在返回的header中后端server的端口,ip等的问题

HI

add header 的方法不是已经可以了嘛, 呵呵。

agentzh 用的是echo模块, 把这两个变量打印出来, 

建议你搜搜他的他的讲义, 之前他好像给过, 搜不到就直接问他要吧

xunxin


2010/9/17 Eric.M <frederick.mao@gmail.com
记得在五道口的聚会上,好像agent提到过可以用nginx来实现这一功能,希望能在header中得知,此次负责执行的到底是哪个ip,哪个端口的server,
不知道是怎么实现的,我只找到了add_header这么一个方法,却不知道如何获得到像127.0.1:8001这样的数据进行返回,
下面是我的部分nginx.conf配置
    upstream frontends {
        server 127.0.0.1:8001   max_fails=3 fail_timeout=30s;
        server 127.0.0.1:8002;
    }

            proxy_pass_header Server;
            proxy_set_header Host $http_host;实现的
            proxy_redirect off;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://frontends;

--
您收到此邮件是因为您订阅了 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 语言培训人才

Hi

邀请国内一些知名的perl程序员, 大家都喷一喷, 宣传宣传perl, 做一个系列最好了。

xunxin

2010/9/25 sbear pl <sbear.pl@gmail.com>
cu perl版的兰花仙子,绝对是合适人选

2010/9/25 cnhack TNT <cnhacktnt@gmail.com>

这个有意思,已联系

2010/9/25 Qiang (James) <shijialee@gmail.com>

华章培训网(华章出版社)正在筹划动态语言方面的网络视频培训。目前他们想做 Perl 与系统管理,Perl 与 CGI,数据库编程这两个方面的入门和中高极教程,希 望通过我们社区找到合适的人选(有报酬)。

感兴趣的朋友可以与华章杜正彬联系,他的msn 是 zhengbindu@gmail.com, email dzb@hzbook.com

华章培训网的地址:www.hztraining.com

Qiang

--
您收到此邮件是因为您订阅了 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 访问此网上论坛。

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

Re: [PerlChina] 批量自动搜索的方法

抓取搜索结果?我记得前段时间(上个学期)。抓了很多搜索的结果,取赞助商链接,貌似是改了user
agent,然后没有sleep
On Sat, 25 Sep 2010 16:13:46 +0800, liseen <liseen.wan@gmail.com> wrote:

> google 是不允许爬虫去抓取的, 很容易封掉你
>
> 要加上随机sleep
>
> 2010/9/25 Lin(林兴陆) <i@lxl.cn>
>
>> 我习惯用cURL搞定,快、自由。
>>
>> 2010/9/25 zhihua zheng <zhihua.zheng@gmail.com>:
>> > 有意思, 这个还是比较简单的,
>> >
>> 一般搜索引擎没有反爬虫机制的,因为他们自己也是爬虫,放心吧,只有一些比较行业化的网站才会防这个,不过遇到这种网站,我们下手一般会比较狠,因为他们太浪费我们的时间了,
>> >
>> > 模块嘛, 简单的话可以用LWP 就可以。
>> > 对付狠的可以上,Mechanize。
>> >
>> >
>> >
>> >
>> > 2010/9/24 Weiqiang <lweiqiang@gmail.com>
>> >>
>> >> 如果没有理解错,这是在建搜索引擎吧。
>> >>
>> 现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。
>> >> 需要根据种子的数量估算一下爬信息需要的时间。
>> >>
>> >>
>> >> 2010/9/24 xuanshi <xuanbonn@googlemail.com>
>> >>>
>> >>> 请教一下各位达人,
>> >>>
>> >>> 小女现有一大型文件, 每一行是一个特定的内容,
>> 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
>> >>>
>> 希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
>> >>> 块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢?
>> 大致思路也好
>> >>>
>> >>> 提前感谢了
>> >>>
>> >>> 初学Perl小菜鸟
>> >>>
>> >>> --
>> >>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers
>> 讨论组"论坛。
>> >>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> >>> 要取消订阅此网上论坛,请发送电子邮件至
>> perlchina+unsubscribe@googlegroups.com<perlchina%2Bunsubscribe@googlegroups.com>
>> 。
>> >>> 若有更多问题,请通过
>> http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>> >>>
>> >>
>> >> --
>> >> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers
>> 讨论组"论坛。
>> >> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> >> 要取消订阅此网上论坛,请发送电子邮件至
>> perlchina+unsubscribe@googlegroups.com<perlchina%2Bunsubscribe@googlegroups.com>
>> 。
>> >> 若有更多问题,请通过
>> http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>> >
>> > --
>> > 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers
>> 讨论组"论坛。
>> > 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> > 要取消订阅此网上论坛,请发送电子邮件至
>> perlchina+unsubscribe@googlegroups.com<perlchina%2Bunsubscribe@googlegroups.com>
>> 。
>> > 若有更多问题,请通过
>> http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>> >
>>
>>
>>
>> --
>> /* 110000011101011011010000110010111100001010111101 *\
>> Linxinglu(林兴陆) - Mike Lam
>> Mobile Phone: (+86)13501281365
>> E-Mail: i@lxl.cn
>> QQ: 28888888
>> ICQ: 2876829
>> MSN: Linxinglu@hotmail.com
>> Homepage: http://www.lxl.cn
>> \* 110000011101011011010000110010111100001010111101 */
>>
>> --
>> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers
>> 讨论组"论坛。
>> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
>> 要取消订阅此网上论坛,请发送电子邮件至
>> perlchina+unsubscribe@googlegroups.com<perlchina%2Bunsubscribe@googlegroups.com>
>> 。
>> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN
>> 访问此网上论坛。
>>
>>
>


--
Using Opera's revolutionary email client: http://www.opera.com/mail/

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

Re: [PerlChina] Re: 如何测试完全打开指定url的速度?如何统计一个页面元素(js,css)的个数?


你可以嵌入一个浏览器,  然后就能知道这些值

用 qtwebkit 可以做


2010/9/16 dylan <dylanklc@gmail.com>
1.如何定义完全打开url的速度,从发出请求到全部展示出来?(是否考虑带宽影响,有些异步调用的网站可能全部展示很慢,但是大部分内容很快就下载完
并展示出来了.不晓得如何定义完全打开指定url的速度,我猜测你可能是问时间的?)
2.统计页面元素用正则啊,3p都可以做.
匹配全部html => header => {meta,link,style,script} (这只是header内的,body的很少统
计.)


On Sep 15, 10:42 am, li <yzhk...@gmail.com> wrote:
> RT!
>
> 不像用webwait。打算批量做一下。求指点!!!
>
> 用perl,php,python都可以!

--
您收到此邮件是因为您订阅了 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 语言培训人才

cu perl版的兰花仙子,绝对是合适人选

2010/9/25 cnhack TNT <cnhacktnt@gmail.com>
这个有意思,已联系

2010/9/25 Qiang (James) <shijialee@gmail.com>

华章培训网(华章出版社)正在筹划动态语言方面的网络视频培训。目前他们想做 Perl 与系统管理,Perl 与 CGI,数据库编程这两个方面的入门和中高极教程,希 望通过我们社区找到合适的人选(有报酬)。

感兴趣的朋友可以与华章杜正彬联系,他的msn 是 zhengbindu@gmail.com, email dzb@hzbook.com

华章培训网的地址:www.hztraining.com

Qiang

--
您收到此邮件是因为您订阅了 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] 批量自动搜索的方法


google 是不允许爬虫去抓取的, 很容易封掉你

要加上随机sleep 

2010/9/25 Lin(林兴陆) <i@lxl.cn>
我习惯用cURL搞定,快、自由。

2010/9/25 zhihua zheng <zhihua.zheng@gmail.com>:
> 有意思, 这个还是比较简单的,
> 一般搜索引擎没有反爬虫机制的,因为他们自己也是爬虫,放心吧,只有一些比较行业化的网站才会防这个,不过遇到这种网站,我们下手一般会比较狠,因为他们太浪费我们的时间了,
>
> 模块嘛, 简单的话可以用LWP 就可以。
> 对付狠的可以上,Mechanize。
>
>
>
>
> 2010/9/24 Weiqiang <lweiqiang@gmail.com>
>>
>> 如果没有理解错,这是在建搜索引擎吧。
>> 现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。
>> 需要根据种子的数量估算一下爬信息需要的时间。
>>
>>
>> 2010/9/24 xuanshi <xuanbonn@googlemail.com>
>>>
>>> 请教一下各位达人,
>>>
>>>    小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
>>>    希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
>>> 块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好
>>>
>>> 提前感谢了
>>>
>>> 初学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 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>



--
/* 110000011101011011010000110010111100001010111101 *\
Linxinglu(林兴陆) - Mike Lam
Mobile Phone: (+86)13501281365
E-Mail: i@lxl.cn
QQ: 28888888
ICQ: 2876829
MSN: Linxinglu@hotmail.com
Homepage: http://www.lxl.cn
\* 110000011101011011010000110010111100001010111101 */

--
您收到此邮件是因为您订阅了 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 语言培训人才

这个有意思,已联系

2010/9/25 Qiang (James) <shijialee@gmail.com>
华章培训网(华章出版社)正在筹划动态语言方面的网络视频培训。目前他们想做 Perl 与系统管理,Perl 与 CGI,数据库编程这两个方面的入门和中高极教程,希 望通过我们社区找到合适的人选(有报酬)。

感兴趣的朋友可以与华章杜正彬联系,他的msn 是 zhengbindu@gmail.com, email dzb@hzbook.com

华章培训网的地址:www.hztraining.com

Qiang

--
您收到此邮件是因为您订阅了 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 访问此网上论坛。

2010年9月24日星期五

[PerlChina] [转发] 寻找 Perl 语言培训人才

华章培训网(华章出版社)正在筹划动态语言方面的网络视频培训。目前他们想做
Perl 与系统管理,Perl 与 CGI,数据库编程这两个方面的入门和中高极教程,希
望通过我们社区找到合适的人选(有报酬)。

感兴趣的朋友可以与华章杜正彬联系,他的msn 是 zhengbindu@gmail.com
email dzb@hzbook.com

华章培训网的地址:www.hztraining.com

Qiang

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

Re: [PerlChina] 批量自动搜索的方法

我习惯用cURL搞定,快、自由。

2010/9/25 zhihua zheng <zhihua.zheng@gmail.com>:
> 有意思, 这个还是比较简单的,
> 一般搜索引擎没有反爬虫机制的,因为他们自己也是爬虫,放心吧,只有一些比较行业化的网站才会防这个,不过遇到这种网站,我们下手一般会比较狠,因为他们太浪费我们的时间了,
>
> 模块嘛, 简单的话可以用LWP 就可以。
> 对付狠的可以上,Mechanize。
>
>
>
>
> 2010/9/24 Weiqiang <lweiqiang@gmail.com>
>>
>> 如果没有理解错,这是在建搜索引擎吧。
>> 现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。
>> 需要根据种子的数量估算一下爬信息需要的时间。
>>
>>
>> 2010/9/24 xuanshi <xuanbonn@googlemail.com>
>>>
>>> 请教一下各位达人,
>>>
>>> 小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
>>> 希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
>>> 块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好
>>>
>>> 提前感谢了
>>>
>>> 初学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 访问此网上论坛。
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的"PerlChina Mongers 讨论组"论坛。
> 要向此网上论坛发帖,请发送电子邮件至 perlchina@googlegroups.com
> 要取消订阅此网上论坛,请发送电子邮件至 perlchina+unsubscribe@googlegroups.com
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>

--
/* 110000011101011011010000110010111100001010111101 *\
Linxinglu(林兴陆) - Mike Lam
Mobile Phone: (+86)13501281365
E-Mail: i@lxl.cn
QQ: 28888888
ICQ: 2876829
MSN: Linxinglu@hotmail.com
Homepage: http://www.lxl.cn
\* 110000011101011011010000110010111100001010111101 */

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

Re: [PerlChina] 批量自动搜索的方法

有意思, 这个还是比较简单的, 一般搜索引擎没有反爬虫机制的,因为他们自己也是爬虫,放心吧,只有一些比较行业化的网站才会防这个,不过遇到这种网站,我们下手一般会比较狠,因为他们太浪费我们的时间了,

模块嘛, 简单的话可以用LWP 就可以。
对付狠的可以上,Mechanize。




2010/9/24 Weiqiang <lweiqiang@gmail.com>
如果没有理解错,这是在建搜索引擎吧。

现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。

需要根据种子的数量估算一下爬信息需要的时间。



2010/9/24 xuanshi <xuanbonn@googlemail.com>

请教一下各位达人,

   小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
   希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好

提前感谢了

初学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 访问此网上论坛。

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

[PerlChina] 关于GD画图的一个问题请教

#!D:/perl/bin/perl
    use GD;
    print "Content-type: image/png\n\n";

    # create a new image
    $im = new GD::Image(100,100);

    # allocate some colors
    $white = $im->colorAllocate(255,255,255);
    $black = $im->colorAllocate(0,0,0);      
    $red = $im->colorAllocate(255,0,0);     
    $blue = $im->colorAllocate(0,0,255);

    # make the background transparent and interlaced
    $im->transparent($white);
    $im->interlaced('true');

    # Put a black frame around the picture
    $im->rectangle(0,0,99,99,$black);

    # Draw a blue oval
    $im->arc(50,50,95,75,0,360,$blue);

    # And fill it with red
    $im->fill(50,50,$red);

    # make sure we are writing to a binary stream
    binmode STDOUT;

    # Convert the image to PNG and print it on standard output
    print $im->png;
 
 
上面是cpan上关于GD的一个例子,我想知道怎么样可以在同一个页面画2个或者n个这样的图,我想用循环实现,但是用for循环好像没有效果,请各位指教,谢谢
 
#!D:/perl/bin/perl
 use GD;
 print "Content-type: image/png\n\n";
 
 my $im = new GD::Image(1000,1000);
    my $white = $im->colorAllocate(255,255,255);
    my $black = $im->colorAllocate(0,0,0);      
    my $red = $im->colorAllocate(255,0,0);     
    my $blue = $im->colorAllocate(0,0,255);
    $im->transparent($white);
    $im->interlaced('true');
 for(my $i=0;$i<1000;$i=$i+100){
    # Put a black frame around the picture
    $im->rectangle($i,$i,$i+99,$i+99,$black);
    # make sure we are writing to a binary stream
    binmode STDOUT;
    # Convert the image to PNG and print it on standard output
    print $im->png;
 }
 

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

Re: [PerlChina] 批量自动搜索的方法

如果没有理解错,这是在建搜索引擎吧。

现在各大搜索网站应该都有反爬虫机制,爬虫需要伪造Agent信息,而且每次爬信息都要有一定的时间间隔(最好是随机的)。

需要根据种子的数量估算一下爬信息需要的时间。



2010/9/24 xuanshi <xuanbonn@googlemail.com>
请教一下各位达人,

   小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
   希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好

提前感谢了

初学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 访问此网上论坛。

Re: [PerlChina] 批量自动搜索的方法

需要LWP模块
其他都是core的
跟文件大不大有啥关系?
是不是就是给个字符串,然后搜索,用搜索结果和这个字符串做比较?
提交的时候,注意改user agent
你可以用这个 Opera/9.80 (X11; Linux i686; U; en) Presto/2.6.30
Version/10.62
On Fri, 24 Sep 2010 18:52:07 +0800, xuanshi <xuanbonn@googlemail.com>
wrote:

> 请教一下各位达人,
>
> 小女现有一大型文件, 每一行是一个特定的内容,
> 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
> 希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
> 块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢?
> 大致思路也好
>
> 提前感谢了
> 初学Perl小菜鸟
>


--
Using Opera's revolutionary email client: http://www.opera.com/mail/

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

[PerlChina] 批量自动搜索的方法

请教一下各位达人,

小女现有一大型文件, 每一行是一个特定的内容, 在每一行的开始,都有8个数字的ID, 用于区别每一行的信息。
希望有个程序,每次只是把文件中每行的内容放入网页搜索(比如google),返回的结果要再与之前的ID相对应。请问这样的程序需要那些模
块, 命令。 关于程序如何把本地文件跟网页联系起来,又需要什么呢? 大致思路也好

提前感谢了

初学Perl小菜鸟

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

2010年9月23日星期四

Re: [PerlChina] lwp实现鉴权并下载文件

登录后抓到文件下载的地址后,你的 $browser 相当于已经登录的浏览器,此时直
接用 $browser 抓取文件即可,不需要再 post 了。

Qiang

On 09/20/2010 02:43 PM, ZHANG Jiaqiang A wrote:
> 大家好,
> 我第一次用lwp遇到了困难,请大家给点建议。
> 想用lwp实现下面的情景(在浏览器下手动跑没有问题):浏览器地址栏输入一个
> URL(https),然后用户被要求输入用户名和密码,输入正确后,弹出了保存文件的
> 对话框,保存文件到本地。
> 我的做法:我先连同用户名,密码,发送URL,得到的回复如下:
>
> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
> <html><head>
> <title>302 Found</title>
> </head><body>
> <h1>Found</h1>
> <p>The document has moved <a href="https://xxx">here</a>.</p
> <https://xxx">here</a>.</p>>
> </body></html>
>
> *我猜*这是让我到 href指向的链接去拿文件吧?然后我用TokenParser把这个新的
> URL解析出来,连同我原来的用户名密码发出去,*然后print
> reseponse->content() 为空!*
> 不知道是哪里不对,这种问题怎么debug呢?
>
> # cat -n lwp.pl
> 1 #!/usr/bin/perl
> 2
> 3 use strict;
> 4 use LWP;
> 5 use HTML::TokeParser;
> 6
> 7 my $user = 'xxxxxx';
> 8 my $passwd = 'xxxxxx';
> 9
> 10 my $browser = LWP::UserAgent->new();
> 11
> 12 my $url = 'https://......';
> 13 my $response =
> 14 $browser->post( $url, [ 'username' =>, $user, 'password' =>
> $passwd ], );
> 15 my $content = $response->content();
> 16
> 17 my $stream = HTML::TokeParser->new( \$content );
> 18 my $relink;
> 19 while ( my $token = $stream->get_token() ) {
> 20 if ( $token->[0] eq 'S' ) {
> 21 my ( $tagname, $attr ) = @$token[ 1, 2 ];
> 22 print "tag:", $tagname, "\n";
> 23 if ( $tagname eq 'a' ) {
> 24 $relink = $attr->{'href'};
> 25 }
> 26 }
> 27 }
> 28
> 29 print "relink", $relink, "\n";
> 30
> 31 $response = $browser->post(
> 32 $relink,
> 33 [
> 34 username => $user,
> 35 password => $passwd,
> 36 ]
> 37 );
> 38 print "response begin\n";
> 39 print $response->content(); # ..
> 40 print "response end \n";
> 41
>

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

2010年9月21日星期二

Re: [PerlChina] Any event for this/next month?

谢谢指出,已经改正了。这往往是 \n 的时候的忘了需要跳出成  \\n 导致的问题,原始教材对的地方的错误都是我在翻译时候的错误 :)

2010/9/21 Vayn <dreamx007@gmail.com>
http://emisweb03.securities.com/ovid-cgi/lesson_3.html
19. open FILE, "<$data" or die "Cannot open $data: $!
如果不是例子本身想说明什么,那就是个小错误。
p.s. 教程写的很有趣

2010/9/21 joe jiang <lamp.purl@gmail.com>
Fixed, thanks for this info.

2010/9/21 Vayn <dreamx007@gmail.com>

http://emisweb03.securities.com/ovid-cgi/lesson_2.html
&ltinput type="text" name="Enter something">
代码被显示出来了

2010/9/21 joe jiang <lamp.purl@gmail.com>
这个月,或者下个月会有什么聚会么?最近是难得的空闲时间。

BTW I have done some translation of http://wiki.perlchina.org/Ovid_的_CGI_教程
Please help to move more of them into that wiki, the original english text is at http://jdporter.perlmonk.org/cgi_course/
My temporary place of the full translation is at http://emisweb03.securities.com/ovid-cgi

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



--
no panic.

--
您收到此邮件是因为您订阅了 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 访问此网上论坛。



--
no panic.

--
您收到此邮件是因为您订阅了 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] Any event for this/next month?

On 09/21/2010 06:16 AM, joe jiang wrote:
> 这个月,或者下个月会有什么聚会么?最近是难得的空闲时间。

谢谢提醒,是再次聚会的时候啦。大概10月晚些时候我来组织一下。

Qiang

>
> BTW I have done some translation of http://wiki.perlchina.org/Ovid_的
> _CGI_教程 <http://wiki.perlchina.org/Ovid_%E7%9A%84_CGI_%E6%95%99%E7%A8%8B>
> Please help to move more of them into that wiki, the original english
> text is at http://jdporter.perlmonk.org/cgi_course/
> My temporary place of the full translation is at
> http://emisweb03.securities.com/ovid-cgi
>
> --
> 您收到此邮件是因为您订阅了 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 访问此网上论坛。

2010年9月20日星期一

Re: [PerlChina] Any event for this/next month?

http://emisweb03.securities.com/ovid-cgi/lesson_3.html
19. open FILE, "<$data" or die "Cannot open $data: $!
如果不是例子本身想说明什么,那就是个小错误。
p.s. 教程写的很有趣

2010/9/21 joe jiang <lamp.purl@gmail.com>
Fixed, thanks for this info.

2010/9/21 Vayn <dreamx007@gmail.com>

http://emisweb03.securities.com/ovid-cgi/lesson_2.html
&ltinput type="text" name="Enter something">
代码被显示出来了

2010/9/21 joe jiang <lamp.purl@gmail.com>
这个月,或者下个月会有什么聚会么?最近是难得的空闲时间。

BTW I have done some translation of http://wiki.perlchina.org/Ovid_的_CGI_教程
Please help to move more of them into that wiki, the original english text is at http://jdporter.perlmonk.org/cgi_course/
My temporary place of the full translation is at http://emisweb03.securities.com/ovid-cgi

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



--
no panic.

--
您收到此邮件是因为您订阅了 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 访问此网上论坛。



--
no panic.

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

Re: [PerlChina] Any event for this/next month?

Fixed, thanks for this info.

2010/9/21 Vayn <dreamx007@gmail.com>
http://emisweb03.securities.com/ovid-cgi/lesson_2.html
&ltinput type="text" name="Enter something">
代码被显示出来了

2010/9/21 joe jiang <lamp.purl@gmail.com>
这个月,或者下个月会有什么聚会么?最近是难得的空闲时间。

BTW I have done some translation of http://wiki.perlchina.org/Ovid_的_CGI_教程
Please help to move more of them into that wiki, the original english text is at http://jdporter.perlmonk.org/cgi_course/
My temporary place of the full translation is at http://emisweb03.securities.com/ovid-cgi

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



--
no panic.

--
您收到此邮件是因为您订阅了 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] Any event for this/next month?

http://emisweb03.securities.com/ovid-cgi/lesson_2.html
&ltinput type="text" name="Enter something">
代码被显示出来了

2010/9/21 joe jiang <lamp.purl@gmail.com>
这个月,或者下个月会有什么聚会么?最近是难得的空闲时间。

BTW I have done some translation of http://wiki.perlchina.org/Ovid_的_CGI_教程
Please help to move more of them into that wiki, the original english text is at http://jdporter.perlmonk.org/cgi_course/
My temporary place of the full translation is at http://emisweb03.securities.com/ovid-cgi

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



--
no panic.

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

[PerlChina] Any event for this/next month?

这个月,或者下个月会有什么聚会么?最近是难得的空闲时间。

BTW I have done some translation of http://wiki.perlchina.org/Ovid_的_CGI_教程
Please help to move more of them into that wiki, the original english text is at http://jdporter.perlmonk.org/cgi_course/
My temporary place of the full translation is at http://emisweb03.securities.com/ovid-cgi

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

2010年9月19日星期日

[PerlChina] lwp实现鉴权并下载文件

大家好,
 
我第一次用lwp遇到了困难,请大家给点建议。
 
想用lwp实现下面的情景(在浏览器下手动跑没有问题):浏览器地址栏输入一个URL(https),然后用户被要求输入用户名和密码,输入正确后,弹出了保存文件的对话框,保存文件到本地。
 
我的做法:我先连同用户名,密码,发送URL,得到的回复如下:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="https://xxx">here</a>.</p>
</body></html>
我猜这是让我到 href指向的链接去拿文件吧?然后我用TokenParser把这个新的URL解析出来,连同我原来的用户名密码发出去,然后print reseponse->content() 为空!
 
不知道是哪里不对,这种问题怎么debug呢?

# cat -n lwp.pl
     1  #!/usr/bin/perl
     2
     3  use strict;
     4  use LWP;
     5  use HTML::TokeParser;
     6
     7  my $user   = 'xxxxxx';
     8  my $passwd = 'xxxxxx';
     9
    10  my $browser = LWP::UserAgent->new();
    11
    12  my $url = 'https://......';
    13  my $response =
    14    $browser->post( $url, [ 'username' =>, $user, 'password' => $passwd ], );
    15  my $content = $response->content();
    16
    17  my $stream = HTML::TokeParser->new( \$content );
    18  my $relink;
    19  while ( my $token = $stream->get_token() ) {
    20      if ( $token->[0] eq 'S' ) {
    21          my ( $tagname, $attr ) = @$token[ 1, 2 ];
    22          print "tag:", $tagname, "\n";
    23          if ( $tagname eq 'a' ) {
    24              $relink = $attr->{'href'};
    25          }
    26      }
    27  }
    28
    29  print "relink", $relink, "\n";
    30
    31  $response = $browser->post(
    32      $relink,
    33      [
    34          username => $user,
    35          password => $passwd,
    36      ]
    37  );
    38  print "response begin\n";
    39  print $response->content(); # ..
    40  print "response end \n";
    41