+ -
当前位置:首页 → 问答吧 → MDK10.1上网的问题,有关perl和python,求助!

MDK10.1上网的问题,有关perl和python,求助!

时间:2004-12-15

来源:互联网

我是江苏无锡的,这里的电信使用web登录。我的同事为了在linux下上网,在查阅了坛子里相关帖子后写了一个登录用的脚本,取名keep,他的系统是RH9.0,正常通过,而我的MDK10.1却不行,不知为什么,麻烦大家帮我看看。

文件内容如下:
PHP 代码:
#!/usr/bin/perl
use Socket;                #import Socket
$host = '218.90.189.1';    #server ip
$port = 8002 ;             #server port


`dhclient -r`;
`dhclient `  ;


$MYIP = `ifconfig eth0|grep inet|sed 's/^ *//'|sed 's/ /:/g'|cut -f3 -d:`;
$macaddr = "\x00\x00\x00\x00\x00\x00";
$msg = inet_aton($MYIP) . $macaddr;
$HDMAC = `ifconfig eth0|grep HWaddr|sed 's/^ *//'|sed 's/://g'|sed 's/ /:/g'|cut -f11 -d:`;   #get local mac address


print "*************************************************************
you should make sure that the  \'macaddr\' is the correct one.
and maybe the server's ip mast be modified on your condition, 
then this perl send keep_alive package at a period of 30 seconds.\n";
print "the server's ip is $host\nyour mac address is $HDMAC";
print "your ip is $MYIP";
$time = "started at ";
$time .= `date +\%H:\%M:\%S`;
print "$time*************************************************************\n\n";


$packhost=inet_aton($host);      #transfer local host 
$address=sockaddr_in($port,$packhost);  
socket(CLIENT,AF_INET,SOCK_DGRAM,17);    #bulid up a link
binmode CLIENT;     #binmode socket
while (1) {
        send(CLIENT,$msg,0,$address);   #send keep alive package
        $time = `date +\%H:\%M:\%S`;
        chop $time;
        $time .= " send ok!      you can stop it by Ctrl+C";
        print $time;
        sleep 30;
        print "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
        print "\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b";
        } 
错误信息为:
PHP 代码:
[root@localhost root]# python keep
  File "keep", line 2
    use Socket ;               #import Socket
             ^
SyntaxError: invalid syntax
[root@localhost root]# 
是否由于MDK10.1的perl版本较低?
或者我的系统缺少相关的组件?
我是很菜的鸟,望大家见谅。

作者: rambolee   发布时间: 2004-12-15

Mandrakelinux 10.1 中Perl的版本是5.8.5。

我虽然不太懂Perl,但一看你的命令就知道有问题。你用Python去执行Perl程序,怎么会不出错呢?

作者: fundawang   发布时间: 2004-12-15

我是按照同事告诉我的方法执行的,真搞不懂怎么他可以,我就不行:(
谢谢fundawang这么晚了还回答我的问题。

作者: rambolee   发布时间: 2004-12-15

希望对python和perl比较熟悉的兄弟帮帮忙!

作者: rambolee   发布时间: 2004-12-15

你这个是Perl脚本,应该用Perl来执行,不能用Python执行。

作者: fundawang   发布时间: 2004-12-15

他告诉你的运行方法了吗?贴出来看看。

作者: csyfek   发布时间: 2004-12-16

热门下载

更多