登录一个FTP服务器,以下代码在ADSL下可以运行, 但是在公司内网里,执行到 WebResponse response = reqFTP.GetResponse();的时候,就报无法连接服务器的错误, 是端口的问题吗?人家FTP服务器的端口是默认的21,
uri="ftp://" + ftpServerIP + "/:21" + ServerFilePath + "/";这样设定后还是不行。
在公网下
uri = "ftp://" + ftpServerIP + "/" + ServerFilePath + "/";就是可以的以下是代码reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
if (IsUseProxy == false)
{
reqFTP.Proxy = null;
}
if (!isPassive)
{
reqFTP.UsePassive = false;
}
else
{
reqFTP.UsePassive = true;
}
reqFTP.UseBinary = true;
reqFTP.KeepAlive = false; WebResponse response = reqFTP.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
uri="ftp://" + ftpServerIP + "/:21" + ServerFilePath + "/";这样设定后还是不行。
在公网下
uri = "ftp://" + ftpServerIP + "/" + ServerFilePath + "/";就是可以的以下是代码reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));
reqFTP.UseBinary = true;
reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
reqFTP.Method = WebRequestMethods.Ftp.ListDirectory;
if (IsUseProxy == false)
{
reqFTP.Proxy = null;
}
if (!isPassive)
{
reqFTP.UsePassive = false;
}
else
{
reqFTP.UsePassive = true;
}
reqFTP.UseBinary = true;
reqFTP.KeepAlive = false; WebResponse response = reqFTP.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
解决方案 »
- combobox控件怎么增加项
- .net c/s结构的ERP分布式解决方案
- 高手帮俺看看DataGridView上的这个问题啊,俺不太懂,请指点一下(谢)
- ASP.net调用VC COM组件,出现“存储空间不足,无法处理此命令”异常
- 请问下列问题如何解决,关于对滑轮滚动的支持,解决就结贴
- 如何把写的dll文件和.NET Framework1.1一起打包...
- 求助:多張reporting報表匯出對應的sheet工作表中
- 新手请教,谢谢,来深圳请你们喝酒!
- c#程序在自己机子可以运行,在其他没装过C#的机子上运行提示,程序初始化失败,怎么回师?
- 两个问题,在线等。
- 求C#.NET+SQLSERVER2005做的BBS论坛系统
- 搜索局域网中的网络设备(如IPCAMERA,NVR)
应该是
uri="ftp://" + ftpServerIP + ":21/" + ServerFilePath + "/";