免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 5580 | 回复: 31
打印 上一主题 下一主题

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-16 14:55 |只看该作者 |倒序浏览
代码如下:
#include<stdio.h>;  
#include<unistd.h>;  
main(int argc,char **argv)  
{  

  FILE *fp;  
  fp=popen("ftp -inv x.x.x.x","w";  
  if(fp==NULL)  
  {  
    perror("popen";  
    exit(1);  
  }  
  fprintf(fp,"user anonymous  @\n";  
  fprintf(fp,"ls\n";
  pclose(fp);  
  printf("ok\n";  
}
  在linux下执行没有问题,可在uclinux下执行的结果如下:
Connected to x.x.x.x
220 hd FTP server (Version wu-2.6.2-5) ready.
331 Guest login ok, send your complete e-mail address as password.
230 Guest login ok, access restrictions apply.
?Invalid command
221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 231 bytes in 0 transfers.
221-Thank you for using the FTP service on hd.
221 Goodbye.
ok
其中红颜色这一句是不是说代码中的'ls'命令,无法识别呢?该如何修改,望大虾指点。

论坛徽章:
0
2 [报告]
发表于 2003-12-16 15:24 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

下面是在linux下运行的情况:
Connected to 61.135.129.120 (61.135.129.120).
220 hd FTP server (Version wu-2.6.2-5) ready.
331 Guest login ok, send your complete e-mail address as password.
230 Guest login ok, access restrictions apply.
227 Entering Passive Mode (61,135,129,120,73,67)
150 Opening ASCII mode data connection for directory listing.
total 40
d--x--x--x   2 root     523          4096 Jan 14  2003 bin
d--x--x--x   2 root     523          4096 Jan 14  2003 etc
drwxr-xr-x   2 root     523          4096 Jan 14  2003 lib
drwx-wx-wx 140 523      523          8192 Dec 13 05:41 pub
226 Transfer complete.

221-You have transferred 0 bytes in 0 files.
221-Total traffic for this session was 416 bytes in 0 transfers.
221-Thank you for using the FTP service on hd.
221 Goodbye
ok

论坛徽章:
0
3 [报告]
发表于 2003-12-16 17:34 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

u can creat a 'XXX.sh' function, and use the 'system()' .

论坛徽章:
0
4 [报告]
发表于 2003-12-16 17:35 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

论坛徽章:
0
5 [报告]
发表于 2003-12-17 08:52 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

[quote]原帖由 "shxliang"]u can creat a 'XXX.sh' function, and use the 'system()' .[/quote 发表:

大虾:能不能详细点?'XXX.sh' 完成什么工作?用脚本写?可是uclinux的sh 不支持管道的阿

论坛徽章:
0
6 [报告]
发表于 2003-12-17 08:55 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

[quote]原帖由 "shxliang"]u can creat a 'XXX.sh' function, and use the 'system()' .[/quote 发表:

大虾:能不能详细点?'XXX.sh' 完成什么工作?用脚本写?可是uclinux的sh 不支持管道的阿

论坛徽章:
0
7 [报告]
发表于 2003-12-22 20:56 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

你应该知道脚本怎样实现自动ftp吧,
你内核编译的时候加上busybox就可以了,把默认的shell改成sh,而不是sash,
或者你用c 来实现管道也可以啊!

论坛徽章:
0
8 [报告]
发表于 2003-12-22 20:57 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

你应该知道脚本怎样实现自动ftp吧,
你内核编译的时候加上busybox,把默认的shell改成sh,而不是sash,就可以了
当然,用system()也可以了,
或者你用c 来实现管道也可以啊!

论坛徽章:
0
9 [报告]
发表于 2003-12-23 09:01 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

原帖由 "shxliang" 发表:
你应该知道脚本怎样实现自动ftp吧,
你内核编译的时候加上busybox,把默认的shell改成sh,而不是sash,就可以了
当然,用system()也可以了,
或者你用c 来实现管道也可以啊!


脚本登陆我是知道的,试验成功了。但我就是想用C语言来实现。上面的程序中popen不是创建管道吗?我就是奇怪啊,上面的C程序为什么不能在uClinux下实现?按说C程序编译后,用不到shell了啊!

论坛徽章:
0
10 [报告]
发表于 2003-12-23 11:30 |只看该作者

c程序实现ftp的自动登陆,可在uclinux下有问题,请指教

uclinux 确实不支持管道,也不支持重定向(默认),
我现在没有uclinux环境来做实验,

你先照我说的,加上重定向试试,
当你用make menuconfig将busybox编译进去之后,
把默认sash改成sh后shell提示符不再是#了,好像是\>;了.可以验证一下.
用脚本来实现自动ftp,然后在system函数中调用这个脚本.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP