还在为无法发送短信验证码而烦恼?今天分享一个超实用的解决方案,个人开发者也能用!
最近国内很多平台暂停了针对个人用户的短信发送,这给个人开发者带来了不少困扰。不过别担心,一个超实用的解决方案——Spug 推送平台,它能很好地满足我们发送短信验证码等需求。
打开push.spug.cc,使用微信扫码直接登录,无需繁琐的认证流程。
复制模版 ID,通过 API 调用即可发送短信验证码。
require 'net/http'
require 'uri'
def send_sms(template_id, code, phone)
url = URI("https://push.spug.cc/send/#{template_id}?code=#{code}&targets=#{phone}")
response = Net::HTTP.get_response(url)
if response.is_a?(Net::HTTPSuccess)
response.body
else
raise "HTTP request failed with status code: #{response.code}"
end
end
begin
result = send_sms('abc', '6677', '151xxxx0875')
puts result
rescue StandardError => e
puts "Error: #{e.message}"
end
import requests
def send_sms(template_id, code, phone):
url = f"https://push.spug.cc/send/{template_id}"
params = {
"code": code,
"targets": phone
}
response = requests.get(url, params=params)
return response.json()
# 使用示例
result = send_sms("abc", "6677", "151xxxx0875")
print(result)
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func sendSMS(templateID, code, phone string) (string, error) {
url := fmt.Sprintf("https://push.spug.cc/send/%s?code=%s&targets=%s",
templateID, code, phone)
resp, err := http.Get(url)
if err != nil {
return "", err
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
return "", err
}
return string(body), nil
}
func main() {
result, err := sendSMS("abc", "6677", "151xxxx0875")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Println(result)
}
参数说明
code
:验证码内容targets
:接收短信的手机号targets
参数会覆盖模板配置的手机号最佳实践