Kilter یا Kill Filter (!) نامی است که برای پروژه جدیدم انتخاب کردم: یک صفحه ساده asp.net که کمک میکند از فیل.تر عبور کنید. دلیل نوشتن این صفحه هم این بود که این فیل.ترینگ مخابرات دیگر داشت اساسی روی اعصابم راه میرفت.
ایده اصلی این است که صفحه را روی سروری که asp.net پشتیبانی میکند آپلود کنید و بعد سایت مورد نظر را درخواست کنید و درخواست از طریق آن سرور به شما نمایش داده شود و این یعنی proxy. من از از امکانات فضانام System.Net در داتنت 1.1 استفاده کردم و کد زیر رو برای فراخوانی سایت مورد نظر نوشتم:
string url=txtUrl.Text;
WebClient client=new WebClient();
UTF8Encoding output=new UTF8Encoding();
lblOutput.Text = output.GetString(client.DownloadData(url));
همانطور که میبینید خروجی (کد HTML سایت درخواست شده) از طریق یک label نمایش داده میشود. میتوانید آدرس سایت را در QueryString هم قرار بدهید و بعد از لود اولیه هر وقت روی لینکی کلیک شد، دوباره تابع بالا فراخوانی شود. البته فراموش نکنید که آدرس را حتما رمز کنید در غیر این صورت با پیغام “مشترک گرامی …” مواجه خواهید شد (;
نسخه اولیه Kilter در حال حاضر بدون مشکل کار میکند، فقط url ها باید کامل باشند. البته به نظرم روش زیاد جالب و سریعی نیست ضمن اینکه هنوز بعضی چیزها را پشتیبانی نمی کند و خلاصه اینکه جا برای کار دارد.
درباره پیادهسازی چنین پروژهای با داتنت ایده بهتری دارید؟ ممنون میشوم اگر نظرتان را در کامنت بگویید یا به hameds [at] gmail [dot] com بفرستید.
پ.ن: صفحه 530 بایتی(!) Kilter را روی سروری آپلود کردم. البته آدرسش را نخواهید چون باید عرض کنم که این یک پروژه (و البته کنجکاوی) شخصی است، هر چند به کمک 4 خط کد بالا میتوانید یک نمونهاش را بنویسید.
اکتبر 10, 2006 در t 7:13 ق.ظ
با این شیوه شما یه زمانی شیره مالیده بودم سر یه عده و اطلاعات رو بلند کرده بودم:
http://nayyeri.net/archive/2006/05/04/Breaking-some-rules.aspx
با این راه شما می شه یه چیزی مشابه این PHP بقیشو نمی دونم درست کرد البته لازمه که بیشتر از این کار بشه که اطلاعات ارسال هم بشن.
ولی راه بهتری که راسته کار برادرانه استفاده از Scoket هاست که IP دستگاه رو Behalf کنن و بعد از تو یه Database از IP ها بگردن و اون چیزی که می خوان پیدا کنن و باهاش حال بدن به ملت!
ولی یه نظرم ارزش وقت گذاشتن نداره چون قبلا زیاد براش برنامه نوشتن. شاید واسه تمرین هم شده اگه یه روزی تو زندگیم پیش اومد با Indigo یکی بنویسم.
یه قانون کلی که هست اینه که تمام اینا کندتر از حالت عادی عمل می کنن چون یه سری بیا و برو اون وسط صورت می گیره که مثلا حالت تئاتر خیمه شب بازی داره!
جدیدا یه برنامه خوب پیدا کردم که برای من با ADSL خیلی تمیز دور می زنه اگه مایل بودین یه میل بزنین براتون آدرسش رو بفرستم بگیرین.
اکتبر 10, 2006 در t 8:57 ق.ظ
اگر طالب هستید که بدورید این فیلترینگ رو من هم یک نمونه دارم که خوب عمل میکنه .
اکتبر 10, 2006 در t 8:42 ب.ظ
are ke mishe, vali ki pool e pahna bandesh o bede ?
اکتبر 14, 2006 در t 5:28 ق.ظ
با این روش که گفتید من یه برنامه نوشتم که خیلی بدردم خورده.این برنامه یه کد چند خطی aspx ساده است که فایل های رو از روی سرور مقصد به سرور جاری انتقال می ده.اینجوری دیگه برای خیلی از ابزاری که واسه هر سایتی آپلود می شن و حجم زیادی دارن(مثل CommunityServer) ، پروسه آپلود رو ندارم و با این برنامه تو سه سوت از یه سرور به سرور دیگه انتقالشون میدم.البته این به درد ما مستمندا می خوره که خط پرسرعت نداریم.
مارس 27, 2008 در t 3:57 ق.ظ
does anyone knows if there is any other information about this subject in other languages?