MDK10.1上网的问题,有关perl和python,求助!
时间:2004-12-15
来源:互联网
我是江苏无锡的,这里的电信使用web登录。我的同事为了在linux下上网,在查阅了坛子里相关帖子后写了一个登录用的脚本,取名keep,他的系统是RH9.0,正常通过,而我的MDK10.1却不行,不知为什么,麻烦大家帮我看看。
文件内容如下:
错误信息为:
是否由于MDK10.1的perl版本较低?
或者我的系统缺少相关的组件?
我是很菜的鸟,望大家见谅。
文件内容如下:
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";
}
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]#
File "keep", line 2
use Socket ; #import Socket
^
SyntaxError: invalid syntax
[root@localhost root]#
或者我的系统缺少相关的组件?
我是很菜的鸟,望大家见谅。
作者: rambolee 发布时间: 2004-12-15
Mandrakelinux 10.1 中Perl的版本是5.8.5。
我虽然不太懂Perl,但一看你的命令就知道有问题。你用Python去执行Perl程序,怎么会不出错呢?
我虽然不太懂Perl,但一看你的命令就知道有问题。你用Python去执行Perl程序,怎么会不出错呢?

作者: fundawang 发布时间: 2004-12-15
我是按照同事告诉我的方法执行的,真搞不懂怎么他可以,我就不行:(
谢谢fundawang这么晚了还回答我的问题。
谢谢fundawang这么晚了还回答我的问题。
作者: rambolee 发布时间: 2004-12-15
希望对python和perl比较熟悉的兄弟帮帮忙!
作者: rambolee 发布时间: 2004-12-15
你这个是Perl脚本,应该用Perl来执行,不能用Python执行。
作者: fundawang 发布时间: 2004-12-15
他告诉你的运行方法了吗?贴出来看看。
作者: csyfek 发布时间: 2004-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28