2009-04-13 35 views
17

मेरा आवेदन लोगों को एसएमएस संदेश भेजता है, लेकिन उनके सेल फोन के रूप में दर्ज की गई संख्या कभी-कभी भूमि रेखाएं होती हैं (यह उपयोगकर्ता त्रुटि है या उपयोगकर्ता वास्तव में नहीं जानता कि उनके पास संपर्क नंबर एक सेल फोन या लैंडलाइन है।)वेब आधारित एपीआई जो मुझे बता सकती है कि कोई संख्या लैंडलाइन या सेल फ़ोन है या नहीं?

मुझे कुछ वेबसाइटें मिलीं जो मुझे बता सकती हैं कि कोई संख्या लैंडलाइन या सेल फ़ोन है, लेकिन वे प्रोग्रामिक एपीआई की पेशकश नहीं करते हैं। क्या कोई इस बात से अवगत है कि कोई वेब एप्लिकेशन यह पता लगा सकता है कि कोई संख्या एसएमएस संदेश प्राप्त कर सकती है या नहीं?

मुझे लगता है कि एक परीक्षण एसएमएस संदेश एक ही रास्ता है, लेकिन जब यह एक लैंडलाइन नंबर हो जाता है और मुझे लैंडलाइन नंबर इसे करने के लिए एसएमएस भेजने के लिए करने की कोशिश की नहीं बताता है मेरे वर्तमान एसएमएस गेटवे कठिन विफल रहता है। मैं अपने वाहक के साथ इसका पालन करूंगा, लेकिन अगर उपयोगकर्ता लैंडलाइन या सेल नंबर हैं तो उपयोगकर्ता को फ़ोन नंबर दर्ज करने का एक आसान तरीका पसंद आएगा।

अद्यतन: इसे समझने के तरीके हैं। http://www.phonevalidator.com पर एक नज़र डालें, वे एक फोन नंबर से पूछ सकते हैं और पता लगा सकते हैं कि यह लैंडलाइन या सेल फोन है या नहीं।

+2

यह एक संभावित गोपनीयता समस्या भी है। क्या उपयोगकर्ता की गोपनीय जानकारी को एक अविश्वसनीय तृतीय पक्ष को वास्तव में जिस तरह से आप हल करना चाहते हैं, उसे पास कर रहे हैं? –

उत्तर

4

आप जावास्क्रिप्ट यूआरएल के साथ एक पॉपअप खोलने हो सकता है: "http://www.phonevalidator.com/results.aspx?p=" + PhoneNumber

+0

यदि आप और जानना चाहते हैं तो आप संख्याओं से एनपीए और एनओएस जानकारी भी पढ़ सकते हैं, यह कुछ अच्छा उल्लंघन है: http://ezinearticles.com/?est-Place-to-Perform-an-NPA-NXX-Lookup&id = 1830567 –

+2

ऐसा लगता है कि यह अब और काम नहीं करता है, अब साइट पर टक्कर मारने से बॉट को रोकने के लिए उनके पास कैप्चा सत्यापन है। –

5

मुझे डर है कि इसे ढूंढने का एकमात्र असली तरीका संपर्क एसएमएस गेटवे सेवा प्रदाता है। उनमें से एक सूची यहां उदाहरण के लिए पाया जा सकता है:

http://en.wikipedia.org/wiki/SMS_gateways

वैसे भी, कि के बजाय मैं कर रहा सुझाव है कि निम्नलिखित:

उपयोगकर्ता अपने या अपने प्रोफ़ाइल में सेल फोन नंबर सम्मिलित करता है, परीक्षण एसएमएस भेजने पुष्टिकरण कोड के साथ इस नंबर पर। यदि उपयोगकर्ता द्वारा नंबर सत्यापित नहीं किया गया है, तो बाद में एसएमएस संदेश भेजने को परेशान न करें।

+0

यह सही नहीं लगता है। मैंने ऐसी साइट का एक उदाहरण दिया जो बताता है कि # लैंडलाइन या सेल है या नहीं। मेरे मामले में संख्याएं तीसरे पक्ष के लिए हैं इसलिए मैं उस व्यक्ति से संपर्क नहीं कर सकता जो वास्तव में बिना किसी अच्छे कारण के फोन नंबर का मालिक है। – MikeN

+0

आपको यह भी पता होना चाहिए कि ऐसी सेवा 100% सटीक नहीं हो सकती है, खासकर यदि आप अंतरराष्ट्रीय फोन नंबरों के साथ काम करते हैं। –

+0

दरअसल, उन्हें एक एसएमएस भेजने की बजाय, उन्हें एक एसएमएस भेजने के लिए कहें जिसमें कुछ शामिल है, यदि आप उन्हें प्राप्त कर सकते हैं। इस तरह, लागत सभी पार्टियों के लिए कम हो जाती है। –

1

निम्न स्क्रिप्ट स्टैक ओवरफ़्लो हॉट लाइन के लिए रिटर्न

646-826-3879 LANDLINE 

#!/usr/bin/perl -w 
use strict; 
use warnings; 

use LWP::Simple; 
use LWP::Simple::Cookies (autosave => 1, file => "$ENV{'HOME'}/lwp_cookies.dat"); 

my $usage = "Usage: $0 <phone_number>\n\nwhere phone_number is on format XXX-XXX-XXXX or XXXXXXXXX"; 

die $usage unless scalar @ARGV == 1; 

my $number = shift @ARGV; 
die $usage unless $number =~ /(\d\d\d)-?(\d\d\d)/; 
my $NPA = $1; 
my $NXX = $2; 

#GET /search.asp?frmNPA=646&frmNXX=826&frmCity=&frmState=&frmZip=&frmCounty=&frmCompany=&search.x=0&search.y=0 HTTP/1.0 
my $doc = get 'http://www.area-codes.com/search.asp?frmNPA=' . $NPA . '&frmNXX=' . $NXX . '&frmCity=&frmState=&frmZip=&frmCounty=&frmCompany=&search.x=0&search.y=0'; 

# html format: 
#... 
# <td><strong>NXX Use Type:</strong></td> 
#  <td>LANDLINE</td> 
#... 
my $next = 0; 
my $result = ""; 
grep { 
    if (/NXX Use Type:/) { 
     $next = 1; 
    } else { 
     if ($next) { 
      $next = 0; 
      $result = $_; 
     } 
    } 
} split(/\n/, $doc); 

$result =~ /<[^>]*>(.*)<[^>]*>/; 

print "$number\t$1\n"; 
+0

यह वास्तव में एक दिलचस्प विचार है (साइटों में से एक को स्क्रीनक्रैप करने के लिए), लेकिन क्षेत्र-codes.com साइट गलत है। यह सेल फोन को लैंडलाइन के रूप में भी रिपोर्ट करता है (यहां तक ​​कि एनवाई सेल फोन 917 क्षेत्र कोड में भी।) मुझे यह भी नहीं पता कि यह कितना स्केलेबल है, वे एक एपीआई नहीं दे रहे हैं। यदि वे मेरे वेब सर्वर को प्रोग्रामेटिक तरीके से अपनी साइट पर कड़ी मेहनत करते हैं तो वे मुझे ब्लैकलिस्ट करेंगे। – MikeN

5

असल में भूमि रेखा ऑपरेटर हैं जो एसएमएस प्राप्त करने की अनुमति देते हैं। विस्तारित क्षमता वाले टेक्स्ट 2voice गेटवे या फोन टर्मिनल द्वारा या तो। इसके अलावा, यूरोप में सेल फोन ऑपरेटरों ने "वर्चुअल लैंड लाइन" की पेशकश शुरू कर दी है, जो वास्तव में जीएसएम सेल फोन एक विशेष बेस स्टेशन को सौंपा गया है। लेकिन वे भूमि रेखा क्रमांकन योजना का पालन करते हैं।

— फिर से शुरू करना भूमि लाइन नंबर पर एसएमएस भेजने की अनुमति नहीं है।

+0

एक दिलचस्प बिंदु बढ़ाने के लिए धन्यवाद। मेरा एसएमएस उत्पाद यूएस बाजार में लक्षित है और मुझे उन सभी फोन पर एसएमएस संदेश भेजने में खुशी होगी जो उन्हें प्राप्त करेंगे। मेरे उपयोगकर्ता के परिप्रेक्ष्य में मैं उन्हें किसी व्यक्ति के सेल फोन में प्रवेश करने के लिए कह रहा हूं, मुख्य रूप से एसएमएस संदेशों के लिए, लेकिन उपयोगकर्ता को यह भी ध्यान दे सकता है कि उस सेल नंबर को उस व्यक्ति से संपर्क करने के लिए किया जाता है जब वे घर नहीं होते हैं। – MikeN

0

एक और विकल्प यह होगा कि उपयोगकर्ता सूची से अपने सेलफोन प्रदाता का चयन करे। सिर्फ एक विचार।

2

मुझे यकीन नहीं है कि आप वास्तव में ऐसा करना चाहते हैं ... यदि आप यह बताना चाहते हैं कि कोई कॉलफ़ोन या लैंडलाइन प्रदाता द्वारा आरक्षित है, तो आपको अपने देश के कुछ दस्तावेज़ों में श्रेणियां ढूंढने में सक्षम होना चाहिए टेलको पर्यवेक्षण इकाई (सुनिश्चित नहीं है कि अमेरिका में यह कौन करता है - यह http://www.nanpa.com/ हो सकता है)। वे दस्तावेज आम तौर पर सार्वजनिक होते हैं।

लेकिन समस्या यह है कि मोबाइल नंबर! = एसएमएस प्राप्त करने में सक्षम। नंबर पोर्टिंग और सभी "एकीकृत संचार" विचारों के साथ आजकल आप स्थानीय नंबरों को मोबाइल पर रीडायरेक्ट कर सकते हैं, गैर-भौगोलिक संख्या एसएमएस को संभालने और स्थानीय "विशेष" संख्याओं को आपके आने वाले एसएमएस को फेसबुक संदेशों के रूप में फिर से लिखना;) उदाहरण के लिए मेरी स्थानीय "लैंडलाइन" किसी अन्य देश और कुछ अन्य स्थानों में किसी मोबाइल पर नंबर रीडायरेक्ट किया जाता है।

आपको किसी भी अन्य/अन्यथा अजीब संख्या में भेजे गए संदेश के लिए शुल्क नहीं लिया जाना चाहिए, इसलिए यह जांचने का एक अच्छा तरीका हो सकता है कि कोई उन्हें प्राप्त कर सकता है या नहीं। अगर आपके पास एसएमएस गेटवे पर अच्छा नियंत्रण है, तो आप डिलीवरी रिपोर्ट सक्रिय और समाप्ति == तत्काल संदेश (आधिकारिक नाम भूल गए) के साथ एक संदेश भेज सकते हैं। बस एक परीक्षण/स्वागत संदेश भेजें - यदि यह स्वीकार नहीं किया गया है, तो आप संख्या को अनुपलब्ध के रूप में चिह्नित कर सकते हैं। अन्यथा, आप केवल "सेलफोन नंबर" के बजाय "संख्या जो एसएमएस स्वीकार करते हैं" के लिए पूछ सकते हैं।

0

लैंडलाइन और मोबाइल नंबरों के लिए सामान्य प्रारूप की सूची क्यों न बनाएं?

9xxxx xxxx 

और मोबाइल हमेशा से रहे हैं:

04xx xxx xxx 

आप आसानी से में लैंडलाइन/मोबाइल नंबर का सामान्य प्रारूप की एक सूची बना सकते हैं उदाहरण के लिए, मैं कहाँ स्थित हूँ लैंडलाइन हमेशा इस प्रारूप का पालन क्षेत्र आप सेवा कर रहे हैं। फिर, जब यह पता लगाना चाहते हैं कि कोई अमेरिकी नंबर लैंडलाइन या मोबाइल है, तो बस इसकी तुलना करें और देखें कि यह लैंडलाइन प्रारूप या मोबाइल नंबर प्रारूप से मेल खाता है या नहीं।

फ़ोन नंबर को सत्यापित करने के लिए अक्सर किया जाने वाला एक और काम, उपयोगकर्ता के मोबाइल पर एसएमएस के माध्यम से एक अस्थायी पिन भेजना है, और उन्हें अपने नंबर को सत्यापित करने के लिए उस पिन को दर्ज करने के लिए कहें।

+6

दुर्भाग्यवश, उत्तरी अमेरिका में लैंडलाइन बनाम मोबाइल नंबरों को इस तरह से अलग नहीं किया गया है। वे सभी बिना किसी भेद के समान नंबरिंग योजना साझा करते हैं। और, संख्या पोर्टेबिलिटी के साथ ग्राहक अपने फोन नंबर को बदले बिना किसी लैंडलाइन से मोबाइल प्रदाता तक स्विच कर सकते हैं। –

+1

यह एक अच्छा विचार है, बस हर जगह काम नहीं करता है। क्षमा करें आपको सभी नीचे वोट मिले हैं - कुछ डेवलपर्स बस हैं ... आप जानते हैं। वैकल्पिक तरीकों के बारे में सोचने की कोशिश करने के लिए +1। – xil3

5

यह एक नि: शुल्क सेवा नहीं है, लेकिन टैर्गस नामक कंपनी (बैग कंपनी नहीं) फोन की जानकारी पूछने के लिए एक एपीआई है। वे बता सकते हैं कि यह लैंडलाइन या सेल है, यहां तक ​​कि पता सत्यापन भी है। चार्ज यह है कि आप कितने प्रश्न पूछते हैं (कुछ सेंट एक प्रश्न)। http://www.targusinfo.com/

फॉलोअप: 24 फ़रवरी, 2011 को TARGUSinfo से संपर्क किया और उनके बिक्री प्रतिनिधि ने कहा था कि वे केवल में रिकॉर्ड सेट के साथ काम सैकड़ों-हजारों लाखों लोगों के लिए और आम तौर पर अपने ग्राहकों के लिए अपने एपीआई में प्लग इन हैं वास्तविक समय का उपयोग। छोटे रिकॉर्ड सेट के लिए सेल नंबर और लैंड लाइन नंबरों के बीच अंतर करना "ऐसा कुछ नहीं है जिसके साथ वे सहायता कर सकते हैं।"

0

मैं कल्पना कर सकता हूं, अगर मुझे कोर मोबाइल नेटवर्क तक पहुंच हो। यह एक एसएस 7 एपीआई है, हालांकि, एक वेब एपीआई नहीं है। मैं शर्त लगाता हूं कि कोई भी सेवा जो वेब एपीआई प्रदान करती है, डेटाबेस पर भरोसा करने के बजाय एसएस 7 नेटवर्क के लिए प्रॉक्सी के रूप में कार्य करती है। एकमात्र अन्य विकल्प नंबर पोरिएबिलिटी डेटाबेस से पूछताछ करना होगा। आखिरकार, कॉल को समाप्त करने के लिए, सभी नेटवर्क ऑपरेटरों को यह निर्धारित करने की आवश्यकता होती है कि उन्हें किस अन्य ऑपरेटर से कनेक्ट करने की आवश्यकता है।

1

यहां कुछ उत्तर गठबंधन करने के लिए कोशिश कर रहा है ...

डैनियल उल्लेख

आप हो सकता है जावास्क्रिप्ट यूआरएल के साथ एक पॉपअप खोलें: "http://www.phonevalidator.com/results.aspx?p=" + फोन नंबर

क्या यह अभी भी काम करता है? मैं इसे पुन: पेश नहीं कर सकता। हम चाहते हैं कि काम करने के लिए प्राप्त कर सकते हैं, तो शायद हमें निम्नलिखित की तरह एक स्क्रिप्ट ...

#!/usr/bin/perl -w 
use strict; 
use warnings; 

use LWP::Simple; 

my $usage = "Usage: $0 <phone_number>\n\nwhere phone_number is on format XXX-XXX-XXXX or XXXXXXXXX"; 

die $usage unless scalar @ARGV == 1; 

my $number = shift @ARGV; 
die $usage unless $number =~ /(\d\d\d)-?(\d\d\d)/; 
my $NPA = $1; 
my $NXX = $2; 

#GET /search.asp?frmNPA=646&frmNXX=826&frmCity=&frmState=&frmZip=&frmCounty=&frmCompany=&search.x=0&search.y=0 HTTP/1.0 
my $doc = get 'http://www.phonevalidator.com/results.aspx?p=' . $NPA . $NXX; 

# html format: 
#... 
#              <td class="style16"> 
#        Phone Line Type: 
#       </td> 
#       <td class="style13"> 
#        <span id="PhoneTypeLabel">LANDLINE</span> 
#       </td> 
# 
#... 
my $result = ""; 
grep { 
    if (/PhoneTypeLabel/) { 
     $result = $_; 
    } 
} split(/\n/, $doc); 

$result =~ /<[^>]*>(.*)<[^>]*>/; 

print "$number\t$1\n"; 
0

हम एक सेवा है जो फिक्स्ड लाइन/अमेरिका और कनाडा के लिए सेलुलर का पता लगाने प्रदान करता है, और यह भी संख्या अगर पता लगाता है उपयोग कर सकते हैं लाइव या डेड है, जो वायरलेस वाहक नंबर को पोर्ट किया गया है आदि। एक पूर्ण वेब एपीआई है।

यदि आप www.hlrcheck.com पर किसी खाते के लिए साइन अप करते हैं तो मैं इसे सत्यापित कर दूंगा और परीक्षण के लिए आपके लिए कुछ मुफ्त क्रेडिट जोड़ूंगा। हम फिलहाल बीटा में हैं, लेकिन पूर्ण रिलीज उम्मीदवार निकट है।

0

यहां वर्णित सभी समाधान स्थिर संख्या पैटर्न लुकअप हैं, लेकिन यह पता लगाने का एकमात्र विश्वसनीय तरीका है कि दिया गया सेल फ़ोन नंबर मान्य है (और एसएमएस प्राप्त करने के लिए तैयार) एचएलआर लुकअप करने के लिए है। एचएलआर होम लोकेशन रजिस्टर के लिए खड़ा है, जो वास्तविक समय ग्राहक जानकारी के साथ एक मोबाइल नेटवर्क ऑपरेटर डेटाबेस है। एचएलआर लुकअप के लिए कई एपीआई सेवाएं हैं, उदा। www.hlr-lookups.com।