2010-11-24 8 views
6

से वेबसाइट की जड़ प्राप्त करें कोई विचार मैं एनएसएसटींग या एनएसआरएल से किसी वेबसाइट की जड़ कैसे प्राप्त कर सकता हूं? तो अगर मेरा यूआरएल http://www.foo.com/bar/baragain मुझे http://www.foo.com/ कैसे मिलेगा?एनएसएसटींग या एनएसयूआरएल

उत्तर

15

[url scheme] और [url host] का उपयोग कर तो जैसे द्वारा:

NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar/baragain"]; 
NSLog(@"Base url: %@://%@", [url scheme], [url host]); 
// output is http://www.foo.com 
+3

इस रूप में वहाँ यूज़रनेम और पासवर्ड भी हो सकता है सार्वभौमिक नहीं है ... इस बेहतर समाधान है: "एक और तरीका है कि मैं यह कर पाया NSURL एक रास्ता विधि शामिल है। मैं पथ प्राप्त कर सकता हूं, और इसे पूर्ण यूआरएल से घटा सकता हूं, और मुझे जो चाहिए वह छोड़ दिया गया है। " – Renetik

+1

हाँ वहां पथ को घटाना सुरक्षित है यदि वहां कोई बंदरगाह भी था – petenelson

-2
NSString *str = @"http://www.foo.com/bar/baragain"; 
NSArray *temp = [str componentsSeparatedByString: @".com"]; 
str = [NSString stringWithFormat: @"%@%@", [temp objectAtIndex:0], @".com"]; 
+0

क्या कोई मुझे कृपया मुझे नीचे जाने के बारे में बता सकता है उत्तर – Swastik

+0

ऊपर उठाया ............. – Bourne

+2

यह क्यों कम किया गया था? यह गलत है, एक http: // www.computer.com/'Btw जैसे यूआरएल की कल्पना करें, यह मैं नहीं था –

10
NSURL *url = [NSURL URLWithString:@"http://www.foo.com/bar/baragain"]; 
NSURL *root = [NSURL URLWithString:@"/" relativeToURL:url]; 
NSLog(@"root = '%@'", root.absoluteString); // root = 'http://www.foo.com/' 
+0

Perfecto! धन्यवाद। – cmilhench

2

आप NSURL के path स्ट्रिंग से निकाल सकते हैं। यह पोर्ट नंबर और अन्य डेटा के लिए खाता है जो मूल साइट का हिस्सा हैं।

NSString *urlString = @"http://www.foo.com/bar/baragain"; 
NSURL *rootUrl = [NSURL URLWithString:urlString]; 
NSString *rootUrlString = [urlString stringByReplacingOccurrencesOfString:rootUrl.path withString:@""]; 
+0

शानदार! धन्यवाद। – PaulJ

+0

ओह ओह। '@" Http://www.foo.com/www.f "' – Hafthor

+0

@ हाफथर के साथ प्रयास करें आप सही हैं - यह अभी भी गलत है। संपादित करने के लिए स्वतंत्र महसूस करें। –