পার্স-ডোমেন - একটি খুব শক্ত লাইটওয়েট লাইব্রেরি
npm install parse-domain
const { fromUrl, parseDomain } = require("parse-domain");
উদাহরণ 1
parseDomain(fromUrl("http://www.example.com/12xy45"))
{ type: 'LISTED',
hostname: 'www.example.com',
labels: [ 'www', 'example', 'com' ],
icann:
{ subDomains: [ 'www' ],
domain: 'example',
topLevelDomains: [ 'com' ] },
subDomains: [ 'www' ],
domain: 'example',
topLevelDomains: [ 'com' ] }
উদাহরণ 2
parseDomain(fromUrl("http://subsub.sub.test.ExAmPlE.coM/12xy45"))
{ type: 'LISTED',
hostname: 'subsub.sub.test.example.com',
labels: [ 'subsub', 'sub', 'test', 'example', 'com' ],
icann:
{ subDomains: [ 'subsub', 'sub', 'test' ],
domain: 'example',
topLevelDomains: [ 'com' ] },
subDomains: [ 'subsub', 'sub', 'test' ],
domain: 'example',
topLevelDomains: [ 'com' ] }
কেন?
ব্যবহারের কেস এবং ভলিউমের উপর নির্ভর করে আমি নিজেই রেজেক্স বা অন্যান্য স্ট্রিং ম্যানিপুলেশন পদ্ধতি ব্যবহার করে এই সমস্যাটি সমাধান করার বিরুদ্ধে দৃ strongly়ভাবে সুপারিশ করি। এই সমস্যার মূল বিষয়টি হ'ল ইউআরএল স্ট্রিংগুলি ডোমেন এবং সাবডোমেনগুলিতে সঠিকভাবে পার্স করার জন্য আপনাকে সমস্ত জিটিএলডিড এবং সিসিটিএলটি প্রত্যয়গুলি জানতে হবে , এই প্রত্যয়গুলি নিয়মিত আপডেট হয়। এটি একটি সমাধান সমস্যা এবং আপনি নিজেরাই সমাধান করতে চান এমন নয় (আপনি গুগল বা কিছু না হলে)। আপনার যদি একটি চিম্টিতে হোস্টনাম বা ডোমেন নাম প্রয়োজন না হয় তবে এটিকে থেকে বেরিয়ে যাওয়ার পথটি চেষ্টা এবং বিশ্লেষণ করবেন না।
url.split('/')[2]
এর আমরা লিখতে নির্বিশেষে যেহেতুftp
,ftps
,https
, ডোমেন নাম সর্বদা সূচক 2. হতে হবে