ورود

نسخه کامل مشاهده نسخه کامل : دانلود يك فايل از اينترنت با دلفي



Reza_mostafavi63
15-02-2012, 18:27
با سلام
من تو اينترنت خيلي گشتم و روش هاي مختلفي براي دانلود يك فايل پيدا كردم

( TDownloadURL و InternetOpenUrl و URLDownloadToFile و TIdHTTP )

ولي يه مشكل بزرگ دارن و اون اينه كه همشون توسط آنتي ويروس شناخته ميشن و جلوي كارشون گرفته ميشه ..

چرا برنامه هاي ديگر مثل Browser ها و دانلود منيجر ها و ..... با اين مشكل مواجه نميشن ؟؟؟؟

دوستان آيا كامپوننتي cmd دستور , API , dll , exe يا هر چيزه ديگه اي سراغ ندارن كه بشه باهاش دانلود كرد ؟؟؟؟ البته حجم برنامه ام برام مهمه ....!!!!!
:11:

Reza_mostafavi63
15-02-2012, 19:48
از اساتيد كسي هست كه بتونه نحوه استفاده از Winsock براي دانلود از يك URL ، را توضيح بده ؟؟؟

من اين برنامه رو پيدا كردم ولي چيزي متوجه نشدم ...

HTTP Down.zip
([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]) همچنين لينك زير
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]
([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
با تشكر

delphidark
16-02-2012, 20:46
ولي يه مشكل بزرگ دارن و اون اينه كه همشون توسط آنتي ويروس شناخته ميشن و جلوي كارشون گرفته ميشه ..


قائدتا نباید مشکلی باشه
TDownloadURL InternetOpenUrl هر دوتاشون با واسطه از API سیستم استفاده میکنن

در ضمن کد WinSock رو هم در ویندوز 7 با آنتی ویروس Nod 32 ارجینال تست کزدم و ابدا مشکلی نبود ...
هرچند که Indy هم قائدتا باید بدون مشکل کار کنه

مطمئن هستین ایراد کار از جای دیگه نیست ؟

اگر برنامتون Consloe هست ممکنه مشکل از اونجا باشه ... یه برنامه با فرم VCL و کامل درست کنید و مجدد تست کنید.

از چه آنتی ویروسی استفاده میکنید ؟

Reza_mostafavi63
17-02-2012, 16:04
( TDownloadURL و InternetOpenUrl و URLDownloadToFile و TIdHTTP ) اين 4 تا رو
من با Avast , Avira , Kaspersky برنامه رو تست كردم .. avast كه اصلا شناسايي نميكنه . Kaspersky شنايي ميكنه ولي برنامه رو نميبنده و فقط آلارم ميده ... ولي Avira به عنوان ويروس ميشناسه و پاك ميكنه

درباره WinSock... درست ميفرماييد و ويروس شناخته نميشه . ميشه لطف كنين و برنامه اي رو كه گذاشتم رو يك توضيح كوچيك بدين . من نتونستم ازش سر در بيارم .!!!!!!

اگر برنامتون Consloe هست ممکنه مشکل از اونجا باشه ... یه برنامه با فرم VCL و کامل درست کنید و مجدد تست کنید.

برنامه من Console Application هست ولي مشكل وقتي به وجود مياد كه ..ميخوام دانلود كنم . جاهاي ديگه مشكلي ندارن .

delphidark
18-02-2012, 02:00
( TDownloadURL و InternetOpenUrl و URLDownloadToFile و TIdHTTP ) اين 4 تا رو
من با Avast , Avira , Kaspersky برنامه رو تست كردم .. avast كه اصلا شنا سايي نميكنه . Kaspersky شنايي ميكنه ولي برنامه رو نميبنده و فقط آلارم ميده ... ولي Avira به عنوان ويروس ميشناسه و پاك ميكنه

درباره WinSock... درست ميفرماييد و ويروس شناخته نميشه . ميشه لطف كنين و برنامه اي رو كه گذاشتم رو يك توضيح كوچيك بدين . من نتونستم ازش سر در بيارم .!!!!!!


برنامه من Console Application هست ولي مشكل وقتي به وجود مياد كه ..ميخوام دانلود كنم . جاهاي ديگه مشكلي ندارن .


WinSock یک API سیستمی هست که میتونید توضیحات و دیاگرام کاملش رو در MSDN ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])مشاهده کنید

به صورت مختصر میتونم بگم که در کد مورد نظر یک شی از نوع TwinSock ساخته میشه و یک بافر به صورت آرایه 32768 عنصری از بایت ها تعریف میشه
بعد هم در یک حلقه دستورات سطح پایین در سوکت سرویس دهنده (وبسایت) ارسال میشه و بایت دریافتی خوانده میشه و در بافر ذخیره میشه

در نهایت هم بافر توسط دستور AssignFile در فایل مورد نظر ذخیره میشه.


در ضمن همونطور که قبلا گفتم مشکل شما با آنتی ویروس یا فایروال به احتمال زیاد به خاطر نوع برنامه (Console Application) هست

شما میتونید یک Winapp بسازید و اگر حجم برنامه براتون مهمه میتونید با حذف فرم ها و Uses های اضافی از سورس اصلی برنامه (Project Source) حجم برنامه رو حتی تا 20 -30 کیلوبایت هم کاهش بدید

اگر نیاز هست بگید تا بیشتر راهنمایی کتم

موفق باشید.