寫爬蟲或自動化測試時,手機號驗證是繞不開的坎。買SIM卡、找轉發服務、手動切換號碼——這些臟活累活,現在有人想幫你省掉。
Tell A Bot是個提供臨時美國手機號的服務。按需申請號碼,等短信進來,通過API直接取驗證碼。700多個平臺支持,從WhatsApp到Google都能接。
![]()
他們剛在GitHub發布了Python SDK。安裝很簡單:
pip install get-sms-online
或者直接從倉庫裝:
pip install git+https://github.com/getsms-online/get.sms.online-python.git
先去后臺Account → Profile生成API key。然后就可以寫了:
from getsms import GetSMSClient, GetSMSError client = GetSMSClient(user="your_username", api_key="your_api_key") # 先看余額 print(f"Balance: ${client.balance()}") # 申請WhatsApp號碼,等短信 requests = client.request_number("WhatsApp") req = requests[0] print(f"Your number: +{req['mdn']}") sms = client.wait_for_sms(req["id"], timeout=900) if sms: print(f"SMS: {sms['reply']}") print(f"Code: {sms['pin']}") else: print("No SMS received in time")
wait_for_sms每15秒輪詢一次,這是官方建議的最低頻率。短信到了返回消息體和提取的PIN碼,超時返回None。
錯誤處理要單獨抓GetSMSError,這是API層面的問題:服務名不對、沒號了、余額不足之類。網絡異常走普通Exception。
拿到的號碼不滿意可以拒掉:
requests = client.request_number("Telegram") req = requests[0] if req["mdn"].startswith("1212"): client.reject(req["id"]) # 比如NYC號段被平臺封了
量大的話別輪詢了,去后臺配個webhook URL。短信一到,Tell A Bot立刻POST過來,帶event、id、reply、pin、price這些字段。
想看支持哪些平臺、各多少錢,調list_services()就行。返回每個服務的名稱和價格,按需申請。
典型的用法場景:自動化注冊測試、腳本里收驗證碼、開發期批量開賬號。不用實體卡,用完即棄。
SDK把HTTP封裝成了Pythonic的接口,三五行代碼就能跑起來。對于做海外業務驗證、或者不想暴露真實手機號的場景,算是個實用工具。
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.