עבור לתוכן

איך להוציא DOMAIN מתוך URL

Featured Replies

פורסם

כחלק מעבודתי, אני צריך לעבוד עם DOMAINים, לא חשוב למה... בכל מקרה, הכנו איזה סקריפט שעובד על URL בצורה מסויימת כחלק מהסקריפט, המשתמש צריך לבחור אם הDOMAIN הוא מסוג DOMAIN.XXX (כמו CNN.COM למשל), או כמו DOMAIN.XX.XX (כמו HWZONE.CO.IL למשל) וגם שיידע לזהות כתובות שמתחילות בIP באופן אוטומטי.

ניסינו לחשוב על דרך שהקריפט יידע לזהות לבד את הצורה שהDOMAIN רשום בתוך הURL, אבל לא הצלחנו לחשוב על שיטה. אפשר לעשות את זה ע"י רשימה עם TLDS נפוצים, אבל זה די מפגר, כי יש המון המון TLDS וזה יהיה מאוד מסורבל. אני יודע שתוכנות כמו SMART WHOIS וVISUAL TRACE יודעות לעשות את זה מצויין, אבל אין לנו מושג איך.

אם למישהו יש רעיון מוצלח איך לעשות זה (ואם אפשר בPERL) אז זה יהיה נהדר. דרך אגב, לי באופן אישי אין הרבה ידע בתכנות, ככה שאם התשובה היא טכנית, אני אצטרך להעביר את זה הלאה כדי לקבל פידבק. בכל מקרה, אני מאמין שהפיתרון הוא תיאורטי, ולא תהיה בעייה להמיר אותו לכל שפה.

תודה מראש.

פורסם

תחפש שני בק-סלשים ברצף, ואז תחפש עוד בקסלש אחריהם. מה שבין שניהם יהייה הDOMAIN.

פורסם

אני לא חושב שלזה הוא התכוון

בנוסף לא תמיד מובטח לך שהקלט יהיה http://xxx.yyy.zzz/

ניסיתי לחשוב על זה בעצמי ובינתיים לא מצאתי שום פתרון מעבר לזה המסורבל (רשימה של כל ה TLDים...)

פורסם
  • מחבר

תחפש שני בק-סלשים ברצף, ואז תחפש עוד בקסלש אחריהם. מה שבין שניהם יהייה הDOMAIN.

אתה מניח שלא יהיה SUBDOMAIN. וזאת הנחה שגויה לצערי :(

פורסם

אם הבנתי נכון זה די פשוט.

הולכים מימין לשמאל בחיפוש אחרי נקודה.

מצאת נקודה ראשונה אתה בודק כמה תוים יש בינה לבין סוף הדומיין.

לאחר מכן אם הוא מוצא עוד אחת הוא בודק כמה תווים זה בין שניהם.

ואז אתה יכל לדעת.

דוגמא:

קלט: hwzone.co.il

פלט: 2 2 6

סיווג: domain.xx.xx

קלט: hwzone.ru

פלט: 2 6

סיווג: domain.xx

קלט: hwzone.com

פלט: 3 6

סיווג: domain.xxx

וכו'

לגבי כתובות שהם IP אתה יכל לבדוק שיש שלוש נקודות ושכל מקטע הוא מספר.

פורסם
  • מחבר

יכולות להיות נקודות גם בתוך הURL שלא קשורות לDOMAIN.

פורסם

זו גם לא בעיה.

אתה מתכוון למשהו כזה:

http://hwzone.co.il/community/index.php

?

שיש נקודה של ה .php

את כל הנקודות אתה בודק בין הסלש האחרון (אם קיים) לבין השני (אם קיים).

פורסם

קחו בחשבון שיש גם www.hwzone.co.il

במקרה זה www הוא לא חלק מה-domain.

יתכן שיש RFC שמגדיר את מבנה שמות ה-domain-ים. תחפש ב-RFC-ים.

פורסם

RFC זה Request For Comment.

הרבה מהתקנים של האינטרנט הם פשוט RFC שפורסם. אפשר למצוא אותם ברשת.

לדוגמא RFC 793 מגדיר את TCP (אם כי יש RFC נוספים עם תוספות ותיקונים).

פורסם
  • מחבר

בסוף עשינו את זה עם מחרוזות חיפוש לTLDS מוכרים. זה עובד מהר, אז זה בסדר לבינתיים. אם למישהו יהיה רעיון אבל, לא להתבייש :)

תודה לכולם.

פורסם

DNS הוא פרוטוקול מאוד מורכב ליישם ועד כמה שאני זוכר יש לו מספר לא קטן של RFCs.

אולי אני קצת איטי אבל אני לא מבין מה הבעיה פה, Zelig צדק לגבי זה שטכנית WWW זה לא חלק מהדומיין.

WWW זה השם של השרת (לרוב זה ה CNAME שלו ולא השם ה"אמיתי שלו ). וגם מה שבא אחרי ה "/" (כולל)

זה לא חלק מהדומיין אלא הקובץ והספרייה שאנחנו רוצים לקבל מהשרת.

לכן הנקודות לא אמורות להיות בעיה.

אגב טכנית בסוף של הכתובת צריכה להיות "." שמסמלת את ה root של DNS אבל לא נראה לי שהידע הזה יעזור לך...

פורסם
  • מחבר

אוקיי, איך זה עוזר לי?

פורסם

אני הייתי "הולך" לאורך המחרוזת משמאל לימין ואם החלק הראשון שלה יהיה WWW אני ימחק אותו (ואת ה ".")

ואז הייתי הולך שוב ובכל פעם שאני נתקל ב "." הייתי מוסיף 1 למשתנה מסיים (אני יקרא לו X ),

אם בסוף X יהיה 1 אז הדומיין הוא בסגנון CNN.COM אם X הוא 2 אז הוא בסגנון HWZONE.CO.IL וכו

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים