View Full Version : تشخیص آدرس یک سایت از روی یک URL
hadisalahi2
سه شنبه 21 بهمن 1393, 18:28 عصر
سلام دوستان
من یک آدرس دارم مثلا اینطوری :
http://stackoverflow.com/questions/21418762/delphi%C2%ADhow%C2%ADto%C2%ADidentify%C2%ADend%C2% ADresult%C2%ADaddress%C2%ADof%C2%ADurl%C2%ADredire ction
حالا چطوری از این آدرس بتونم این آدرس رو استخراج کنم : http://stackoverflow.com
این لینک بالا یک توضیحاتی داده
اما دقیقا متوجه نشدم باید چیکار کنم.
بهروز عباسی
سه شنبه 21 بهمن 1393, 19:46 عصر
سلام
از RegEX استفاده کن.
http://stackoverflow.com/questions/27745/getting-parts-of-a-url-regex
hadisalahi2
چهارشنبه 22 بهمن 1393, 11:04 صبح
اصلا متوجه نشدم باید چطوری از اینی که گفتی استفاده کنم
یک تابع داره که به زبان دلفی نیست .
میشه لطفا روش استفاده رو توی دلفی بگی
دمت گرم
Mask
چهارشنبه 22 بهمن 1393, 15:14 عصر
ابتدا با استفاده از این تابع مقدار رو دیکد کنید و سپس با تابع pos و کاراکتر / مسیر رو تکته تکه کرده و اولین مقدار رو به عنوان ادرس اصلی بردارید.
uses IdURI;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := TIdURI.URLDecode(Edit1.Text);
end;
hadisalahi2
چهارشنبه 22 بهمن 1393, 18:51 عصر
این کد که کار خاصی انجام نمیده
هر چی بدی همون رو برمیگردونه
با تابع pos و کاراکتر / مسیر رو تکته تکه کرده و اولین مقدار رو به عنوان ادرس اصلی بردارید.
خودم به ذهنم رسید این کار رو انجام بدم
اما گفتم شاید روش ساده تری وجود داشته باشه
Mask
چهارشنبه 22 بهمن 1393, 20:08 عصر
این کد که کار خاصی انجام نمیده
هر چی بدی همون رو برمیگردونه
به این زودی نتیجه گیری نکنید. لینک پست اولتون رو به تابع بدید تا خروچی رو ببینید.
hadisalahi2
پنج شنبه 23 بهمن 1393, 10:31 صبح
حمزه جان ، زود نتیجه گیری نکردم
میدونم کار این تابع چیه و تستش هم کردم روی یکی از لینک های سایت
اما منظور من در مورد این کار خاص که گفتم بود نه در مورد این تابع.
سپس با تابع pos و کاراکتر / مسیر رو تکته تکه کرده
الان این آدرس : http://www.w3schools.com/default.asp دوتا // اولش داره ، Pos رو سه بار تکرار کنم؟
Mask
پنج شنبه 23 بهمن 1393, 19:59 عصر
uses IdURI;
function ExtractDomainName(aUrl: string): string;
var
i: integer;
FoundHttp: Boolean;
begin
FoundHttp := False;
aUrl := TIdURI.URLDecode(aUrl);
for i := 1 to length(aUrl) do
begin
if FoundHttp then
begin
if (aUrl[i] = '/')and (aUrl[i - 1] <> '/') then
Break;
end
else
begin
if (aUrl[i] = '/') and (aUrl[i + 1] = '/') then
FoundHttp := True;
end;
Result := Result + aUrl[i];
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := ExtractDomainName(Edit1.Text);
end;
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.