设为首页 收藏本站
查看: 911|回复: 0

[经验分享] sco unix ftp 源代码

[复制链接]

尚未签到

发表于 2016-6-7 12:10:59 | 显示全部楼层 |阅读模式
sco unix ftp 源代码
2012年01月08日
  sco unix ftp 源代码如下代码可以实现 unix to unix 的文件发送,但不通实现unix to windows之间的发送,各位指点指点。
  #include ;
  #include ;
  #define NORMAL0
  #define ABNORMAL 1
  #define ON 1
  #define OFF 0
  main (argc, argv)
  int argc;
  char *argv[];
  {
  FTPINFO ftpinfo;  
  void usage(), check_n_close();
  char *progname;
  char *host;
  progname = (char *) argv;
  if ( argc error: ftp_prconnect failed.\n");  
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * send user name to the remote server.
  */
  if (ftp_user( &ftpinfo, "bank" ) error: ftp_user failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * send user password to the remote server.
  */
  if (ftp_passwd ( &ftpinfo, "" ) error: ftp_passwd failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }  
  /*
  * set the idle time for this connection.
  */
  if (ftp_idle ( &ftpinfo, "7200" ) error: ftp_idle failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * do a 'cd' on the remote ftp server.
  */
  if (ftp_chdir( &ftpinfo, "winnt" ) error: ftp_chdir failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * do a 'pwd' on the remote ftp server.
  */
  if (ftp_pwd ( &ftpinfo ) error: ftp_pwd failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * set transfer mode to ascii.
  */
  if (ftp_ascii ( &ftpinfo ) error: ftp_ascii failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * set transfer mode to binary.
  */
  if (ftp_binary ( &ftpinfo ) error: ftp_binary failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * set transfer mode back to ascii - using ftp_settype.
  */
  if (ftp_settype ( &ftpinfo, ASCII ) error: ftp_settype failed in ascii mode.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * set transfer mode back to binary - using ftp_settype.
  */
  if (ftp_settype ( &ftpinfo, BINARY ) error: ftp_settype failed in binary mode.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * make a directory under /tmp on the server.
  */
  if (ftp_mkdir ( &ftpinfo, "prem" ) error: ftp_mkdir failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * change the mode of the directory created above.
  */
  if (ftp_site ( &ftpinfo, "chmod 775 prem" ) error: ftp_site failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * remove the directory created above.
  */
  if (ftp_rmdir ( &ftpinfo, "prem" ) error: ftp_rmdir failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * quit the FTP session decently.
  */
  if (ftp_bye( &ftpinfo ) error: ftp_bye failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * use ftp_login to login into the remote ftp server and quit.
  */
  if (ftp_login ( &ftpinfo, host, "bank", "", NULL ) error: ftp_login failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * do a 'put' to the remote host.
  */
  if (ftp_putfile ( &ftpinfo, "/tmp/passwd", "c:/passwd" ) error: ftp_putfile failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  else {
  printf("transfer speed: \n");
  printf("\t\tbytes transferred = %ld\n",
  ftpinfo.speed.size_bytes);
  printf("\t\ttime taken = %.2g seconds\n",
  ftpinfo.speed.seconds);  
  printf("\t\trate = %.2g Kbytes/s\n",
  ftpinfo.speed.kbs);
  }
  /*
  * set transfer mode back to ascii - using ftp_settype.
  */
  if (ftp_settype ( &ftpinfo, ASCII ) error: ftp_settype failed in ascii mode.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * do a 'get' from the remote host.
  */
  if (ftp_getfile ( &ftpinfo, "/tmp/passwd","c:/passwd" )error: ftp_getfile failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  else {
  printf("transfer speed: \n");
  printf("\t\tbytes transferred = %ld\n",
  ftpinfo.speed.size_bytes);
  printf("\t\ttime taken = %.2g seconds\n",
  ftpinfo.speed.seconds);  
  printf("\t\trate = %.2g Kbytes/s\n",
  ftpinfo.speed.kbs);
  }
  /*
  * list /tmp on remote host to file /tmp/test.
  */
  if (ftp_dir ( &ftpinfo, "/tmp", "/tmp/test" ) error: ftp_dir failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * list /tmp on remote host to stdout.
  */
  if (ftp_dir ( &ftpinfo, "/tmp", NULL ) error: ftp_dir failed to write to stdout.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * delete the file on the remote host.
  */
  if (ftp_del ( &ftpinfo, "/tmp/asciifile" ) error: ftp_del failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * quit the FTP sessions decen
  关于DNS的负载均衡的问题 tly.
  */
  if (ftp_bye( &ftpinfo ) error: ftp_bye failed.\n");
  (void) check_n_close ( &ftpinfo, ABNORMAL );
  }
  /*
  * we're done with our job...so exit the program gracefully.
  */
  (void) check_n_close ( &ftpinfo, NORMAL );  
  }
  void
  usage(progname)
  char *progname;
  {
  printf("usage: %s ;\n", progname);
  exit (1);
  }
  void
  check_n_close ( ftpinfo, status )
  FTPINFO *ftpinfo;
  int status;
  {
  if (ftpinfo ->; sockfd >;= 0)
  close (ftpinfo ->; sockfd);
  if (status == ABNORMAL)
  printf("error: %s\n", ftpinfo ->; ftp_msg);
  else
  printf("success: %s\n", ftpinfo ->; ftp_msg);
  printf("final reply from server: %d\n", ftpinfo ->; reply);
  fflush ( stdout );
  exit (status);
  }sco unix ftp 源代码oksco unix ftp 源代码怎么样编译。sco unix ftp 源代码ccprog.c -o prog -lftpsco unix ftp 源代码加为精华吧sco unix ftp 源代码难道没有人作过吗?sco unix ftp 源代码我没用过ftp库函数,用普通socket函数到是写过,
  效果还不错,一直在用!sco unix ftp 源代码请问老大, 我的机器怎么有一个提示/usr/lib/libftp.a 的提示呀http://www.hld1001.com!暖奶器
  编译没有其他的错误,希望指点一二,谢谢!sco unix ftp 源代码各位老大:编译的问题解决了,命令如下:cc -o ftp ftp.c -llftp -lsocket
  可是运行时出现错误如下:
  error: fopen failed to open in "r" mode for sending
  final reply from server: 150
  或
  error: ftp _ftpfile failed
  ferror:data connection failed
  inal reply from server: 553
  那位能帮我解决!这里先行谢过了!sco unix ftp 源代码man ftp看到最后就是上面的例程了,只有unixware下能够使用,必须链接libftp.a,其他系统用不了的。
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-227452-1-1.html 上篇帖子: FTP 相关命令 下篇帖子: php ftp_cdup函数-FTP 文件传输函数库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表