ठीक है, आप आईपी के साथ ऐसा कैसे करते हैं।
http://www.geoplugin.net/json.gp
Astunishing:
तो, geoplugin.net यह आश्चर्यजनक JSON एपीआई है, यह चूक वर्तमान के टूटने के लिए आईपी, तो क्या आप क्या करना है यह पता करने के लिए एक अनुरोध करना है! यह मेरे लिए देता है,, इस डेटा:
geoPlugin({
"geoplugin_request":"201.6.226.233",
"geoplugin_status":200,
"geoplugin_city":null,
"geoplugin_region":"São Paulo",
"geoplugin_areaCode":0,
"geoplugin_dmaCode":0,
"geoplugin_countryCode":"BR",
"geoplugin_countryName":"Brazil",
"geoplugin_continentCode":"SA",
"geoplugin_latitude":-23.473301,
"geoplugin_longitude":-46.665798,
"geoplugin_regionCode":27,
"geoplugin_regionName":"São Paulo",
"geoplugin_currencyCode":"BRL",
"geoplugin_currencySymbol":"R$",
"geoplugin_currencyConverter":2.0198
})
खैर, अब आप क्या करने के लिए सिर्फ पार्स है इस "JSON" है क्या। यह वास्तव में एक JSON नहीं है क्योंकि इसमें geoplugin({data})
रैपर है। तो आप शायद कुछ फ़िल्टरिंग निष्पादित कर सकते हैं, एनएसएसटीआरिंग के उन हिस्सों को हटा सकते हैं।
मुझे लगता है कि आप जल्दी में हैं, इसलिए मैंने आपके लिए कुछ कोड लिखने के लिए अपना खाली समय लिया। यह बहुत गैर-मानक है क्योंकि मुझे नहीं पता कि आप किसी भी आरईएसटी फ्रेमवर्क का उपयोग कर रहे हैं जो मदद करेगा, लेकिन यहां जाता है:
NSString *url = [NSString stringWithFormat:@"http://www.geoplugin.net/json.gp"];
NSString *locationData = [[NSString alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]
encoding:NSUTF8StringEncoding]];
locationData = [locationData stringByReplacingOccurrencesOfString:@"geoPlugin(" withString:@""];
locationData = [locationData stringByReplacingOccurrencesOfString:@")" withString:@""];
//user some json parser here.
if([[[locationData JSONValue] valueForkey:@"geoplugin_countryCode"] isEqualToString:@"US"]){
//proceed.
}
अभी मैं लोकेल के साथ "en_US" का पता लगा सकता हूं ...क्या यह हमेशा संयुक्त राज्य अमेरिका में होगा? –
लोकेल उपयोगकर्ता कॉन्फ़िगर करने योग्य है। उदाहरण के लिए, संयुक्त राज्य अमेरिका में रहने वाले किसी व्यक्ति जो चीनी बोलता है, उसके पास फोन की भाषा और लोकेल चीन हो सकता है। आपको यह निर्धारित करने के लिए उपयोगकर्ता के लोकेल का उपयोग नहीं करना चाहिए कि वे कहां स्थित हैं; इसका उपयोग यह निर्धारित करने के लिए किया जाना चाहिए कि उनकी सामग्री को कैसे स्थानांतरित किया जाए। –