1 ضمیمه
درخواست راهنمایی جهت استفاده از FTP
با سلام خدمت دوستان و اساتید محترم
میخواهم از FTP و با Indy نسبت به نقل و انتقال فایل در شبکه داخلی شرکت و اینترنت استفاده نمایم. کد زیر از یک سایت خارجی با تغییرات بکار بردم و خطای زیر گرفته میشود. چرا؟ متشکرم.
procedure TfrmSabtGhabzDaryaft.btn1Click(Sender: TObject);
var
objFTP: TidFTP;
sCaminho: String;
begin
sCaminho := 'C:\Applications\Refah.exe';
System.SysUtils.DeleteFile(sCaminho);
try
objFTP := TIdFTP.Create;
try
objFTP.Host := '999.99.999.9';
objFTP.Username := 'shirani';
objFTP.Password := 'ََAAA_932';
objFTP.IOHandler := IdSSLIOHandlerSocketOpenSSL1.Create(objFTP);
objFTP.UseTLS := utUseExplicitTLS;
try
// objFTP.Port := 990;
objFTP.Passive := True;
objFTP.Connect;
objFTP.ChangeDir('C:/Applications');
objFTP.Get('Refah.exe', sCaminho);
finally
objFTP.Disconnect;
end;
finally
FreeAndNil(objFTP);
end;
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
ضمیمه 138607
نقل قول: درخواست راهنمایی جهت استفاده از FTP
به احتمال زیاد مجوز دسترسی به Refah.exe را ندارید . چون معنی این خطا مربوط به عدم توانایی در باز کردن فایله .
نقل قول: درخواست راهنمایی جهت استفاده از FTP
نقل قول:
نوشته شده توسط
hamid-nic
به احتمال زیاد مجوز دسترسی به Refah.exe را ندارید . چون معنی این خطا مربوط به عدم توانایی در باز کردن فایله .
با تشکر از پاسختان
مشکل مربوط به کانکت شدن میباشد. (کد قرمز رنگ).
نقل قول: درخواست راهنمایی جهت استفاده از FTP
نقل قول:
نوشته شده توسط
khoshblagh
با تشکر از پاسختان
مشکل مربوط به کانکت شدن میباشد. (کد قرمز رنگ).
منظورتون اینه objFTP.Connect ؟
الان درست شده ؟
نقل قول: درخواست راهنمایی جهت استفاده از FTP
با سلام .
بله منظورم objFTP.Connect میباشد. و مشکل همچنان وجود دارد. و خطای 105 مانع اجرای برنامه میشود.:گریه:
نقل قول: درخواست راهنمایی جهت استفاده از FTP
در حالت عادی بدون استفاده از این کد مثلا با استفاده از برنامه های Filezilla یا CuteFtp می تونید با ftp server ارتباط برقرار کنید ؟
نقل قول: درخواست راهنمایی جهت استفاده از FTP
سلام
کد شما مشکل دستوری نداره ولی از کد من هم استفاده کن ببین میشه یا نه؟
var strDirectory: string;
begin
FDownload:=TIdFTP.Create(nil);
FDownload.Passive:=False;
FDownload.host :='192.168.1.2';
FDownload.Passive := false;
FDownload.Username := EUser.Text;
FDownload.Password := EPass.Text;
FDownload.Connect;
if FDownload.Connected then
LSend.text :='Server Connected'
else
LSend.text := 'Not Connect Check Network';
try
FDownload.ConnectTimeout := 1000;
FDownload.BeginWork(wmRead);
FDownload.ChangeDir('');
strDirectory := C:\;
if not DirectoryExists(strDirectory) then
CreateDir(strDirectory);
FDownload.Get('123.db', strDirectory + '/' + '123.db', True, false);
FDownload.Disconnect();
except
on e: exception do
showMessage(e.message);
end;
بعضی از قسمت هاش چون Lsend اضافی هستش.
درضمن در event کامپوننت ftp بخش work این کد رو هم بگذار.
application.ProcessMessages;
1 ضمیمه
نقل قول: درخواست راهنمایی جهت استفاده از FTP
من با IPValid و یوزر و پسورد براحتی در منزل به سرور شرکت وصل میشوم. ظاهرا مشکل باید از سمت سرور باشد. آیا در سمت سرور کار خاصی انجام داد؟
ضمنا کد جناب آقای عباسی این خطا نمایش داده میشود.
ضمیمه 138733
نقل قول: درخواست راهنمایی جهت استفاده از FTP
با سلام خدمت دوستان
در شبکه داخلی (لوکال) خطای Socket error =#10061را میده. البته فایر وال غیر فعال است. ظاهرا باید سوکت 21 را باز نمود.درست است؟
در این صورت این سوکت از سمت سرور و یا از سمت کلاینت و یا هر دو باید بررسی شود. آسانترین راه تست باز بودن آنها چگونه است؟ متشکرم.
نقل قول: درخواست راهنمایی جهت استفاده از FTP
نقل قول:
نوشته شده توسط
khoshblagh
با سلام خدمت دوستان
در شبکه داخلی (لوکال) خطای Socket error =#10061را میده. البته فایر وال غیر فعال است. ظاهرا باید سوکت 21 را باز نمود.درست است؟
در این صورت این سوکت از سمت سرور و یا از سمت کلاینت و یا هر دو باید بررسی شود. آسانترین راه تست باز بودن آنها چگونه است؟ متشکرم.
با این لینک آی پی ولیدتون را اسکن کنید ببینید چه پورت هایی بازه .
نقل قول: درخواست راهنمایی جهت استفاده از FTP
با سلام خدمت دوست گرامی
با لینک مورد نظر پورتهای زیر باز میباشد.
PORT STATE SERVICE
80/tcp open http
110/tcp open pop3
119/tcp open nntp
443/tcp open https
3389/tcp open ms-wbt-server
49152/tcp open unknown
49154/tcp open unknown
49155/tcp open unknown
نقل قول:
نوشته شده توسط
hamid-nic
با
این لینک آی پی ولیدتون را اسکن کنید ببینید چه پورت هایی بازه .
نقل قول: درخواست راهنمایی جهت استفاده از FTP
خوب دوست عزیز پورت 21 مربوط به ftp که با توجه به نتیجه اسکن که گذاشتید (اگر قبلا تغییرش نداده باشید) این پورت باز نیست .
اون پورت های ناشناخته 49152 و 49154 و 49155 را هم مسدود کنید .
کلا پورت هایی را که استفاده نمی کنید ببندید .
نقل قول: درخواست راهنمایی جهت استفاده از FTP
به نظرم مشکل از پورت نیست.
چون خودم یک برنامه ftp همون کدی که گذاشتم استفاده میکنم.و از طریق اینترنت با ip static ها درحال تبادل هستم و هیچ پورتی رو نه بسته ام و نه باز کرده ام.(البته پورت های ناشناخته باز زیادی دارم که انتی ویروس بطور اتومات اون هارو block کرده.)
بنظرم وقتی پیغام socket میدهد:2 معنی از نظر بنده میدهد:
1-فایروال انتی ویروس اجازه کار رو به Ftp تون نمی ده و باید disable بشه.
2-سروری که قراره فایل بفرسته درست کارنمی کنه(یعنی فرمان هایی که برای دریافت اطلاعات نوشته اید ایرادی دارد(که به احتمال زیاد از کد نویسی نیست).
حال باید بررسی کنید ممکنه یکی از این 2 مورد باعث بشه فایل دریافت نشه یانه
نقل قول: درخواست راهنمایی جهت استفاده از FTP
نقل قول:
نوشته شده توسط
hamid-nic
خوب دوست عزیز پورت 21 مربوط به ftp که با توجه به نتیجه اسکن که گذاشتید (اگر قبلا تغییرش نداده باشید) این پورت باز نیست .
اون پورت های ناشناخته 49152 و 49154 و 49155 را هم مسدود کنید .
کلا پورت هایی را که استفاده نمی کنید ببندید .
با سلام
سرور را restrat و پورت 21 باز شد. ولی مشکل همچنان باقی است.
نقل قول:
PORT STATE SERVICE
7/tcp filtered echo
13/tcp filtered daytime
21/tcp open ftp
25/tcp open smtp
80/tcp open http
110/tcp open pop3
119/tcp open nntp
135/tcp open msrpc
139/tcp open netbios-ssn
143/tcp open imap
443/tcp open https
445/tcp open microsoft-ds
465/tcp filtered smtps
513/tcp filtered login
515/tcp filtered printer
3389/tcp open ms-wbt-server
5051/tcp filtered ida-agent
8000/tcp filtered http-alt
9999/tcp filtered abyss
49152/tcp open unknown
49153/tcp open unknown
49154/tcp open unknown
49157/tcp open unknown
نقل قول: درخواست راهنمایی جهت استفاده از FTP
نقل قول:
نوشته شده توسط
ابوالفضل عباسی
به نظرم مشکل از پورت نیست.
چون خودم یک برنامه ftp همون کدی که گذاشتم استفاده میکنم.و از طریق اینترنت با ip static ها درحال تبادل هستم و هیچ پورتی رو نه بسته ام و نه باز کرده ام.(البته پورت های ناشناخته باز زیادی دارم که انتی ویروس بطور اتومات اون هارو block کرده.)
بنظرم وقتی پیغام socket میدهد:2 معنی از نظر بنده میدهد:
1-فایروال انتی ویروس اجازه کار رو به Ftp تون نمی ده و باید disable بشه.
2-سروری که قراره فایل بفرسته درست کارنمی کنه(یعنی فرمان هایی که برای دریافت اطلاعات نوشته اید ایرادی دارد(که به احتمال زیاد از کد نویسی نیست).
حال باید بررسی کنید ممکنه یکی از این 2 مورد باعث بشه فایل دریافت نشه یانه
با سلام خدمت دوست عزیز
1- فایر وال خاموش است.
2- مورد دوم را نمیدانم باید چکاری روش انجام بدم.
3 - کد شما هم مشکل را حل نکرد.
نقل قول: درخواست راهنمایی جهت استفاده از FTP
مشکل شما کمی عجیبه،چون هم پورت باز هست و هم فایروال خاموش است و هم کد نویسی اشکلا ندارد.:متعجب:
از نمونه کد هایی که توی اینترنت هست،کد فرستنده فایل رو تغییر دهید تا مشکل حل شود.خودم به این مشکل با سرور برنخورده ام.ولی یک بار بخاطر فایروال مشکل داشتم که اون هم حل شد.
کد های فرستنده فایل رو تغییر دهید تا مشکل حل شود.