View Full Version : دریافت قسمتی از کد HTML بوسیله ی IdHTTP و نه تمام کد آن
soroush_vs
یک شنبه 02 خرداد 1389, 12:38 عصر
با سلام
من نیاز دارم که با کامپوننت IdHTTP قسمتی از کد HTML یک صفحه رو در برنامه دریافت کنم اما با استفاده از متد Get تمام کد HTML صفحه URL دریافت میشه.
در صورتی که صفحه بزرگ باشه این قضیه مشکل ایجاد میکنه و من دوست ندارم برنامه بیهوده کاری رو بکنه. چون من فقط به قسمت ابتدایی کد HTML نیاز دارم ، فقط به دو سه خط اول کد.
ممنون میشم راهنمایی بکنید
mossaferin
دوشنبه 17 خرداد 1389, 19:51 عصر
سلام
با استفاده از پراپرتی های ContentRangeStart و ContentRangeEnd میتونی مشخص کنی که چه قسمتی از کل صفحه توسط get دریافت بشه
موفق باشی
مهران رسا
پنج شنبه 31 شهریور 1390, 09:38 صبح
تاپیک یه خورده قدیمی هست اما بنده با توجه به نیازی که داشتم در این مورد تحقیق کردم و نتایج رو اینجا قرار میدم :
Property های ContentRangeStart و ContentRangeEnd که دوستمون بهش اشاره کردن برای دریافت جواب از سرور استفاده میشند نه برای ارسال درخواست به سرور. خود Remy Lebeau یه جایی گفته که باید به جاش از Request.Range استفاده کنید.
Now I remember why - the ContentRange... properties are meant only for responses, not for requests. You need to use the Request.Range property instead:
IdHTTP1.Request.Range := '0-100';
البته قبلش باید بررسی بشه که سرور امکان دانلود به صورت Byte Ranges رو در اختیار ما قرار میده یا خیر. برای اینکار کلمه bytes رو در مقدار فیلد Response.AcceptRanges بررسی میکنیم :
IdHTTP1.Head(URL);
if Pos('bytes', IdHTTP1.Response.AcceptRanges) > 0 then begin
// Get() can download the file in pieces...
IdHTTP1.Request.Range := '1-100';
...
end else begin
// Get() will download the entire file in full...
end;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.