Làm cách nào để gửi SMS bằng Python?
Tin nhắn văn bản Dịch vụ tin nhắn ngắn (SMS) phổ biến để liên lạc trên toàn thế giới. Thật dễ dàng để gửi tin nhắn văn bản SMS từ ứng dụng Python bằng giao diện lập trình ứng dụng web (API). Chúng ta hãy xem các công cụ chúng ta cần để nhanh chóng thêm khả năng SMS vào các ứng dụng Python của mình Show
Công cụ chúng tôi cầnHướng dẫn này hoạt động với cả Python 2 và 3, vì vậy hãy đảm bảo bạn đã cài đặt một trong hai phiên bản đó Nếu bạn cần hỗ trợ cài đặt pip và virtualenv, hãy xem một số bước đầu tiên về cách thiết lập Python 3, Flask và Green Unicorn trên Ubuntu 16. 04 Hướng dẫn LTS sẽ chỉ cách cài đặt các gói hệ thống cho các công cụ đó Sử dụng API WebChúng tôi sẽ sử dụng API web để gửi SMS dễ dàng hơn và đáng tin cậy hơn. Truy cập trang web Twilio và đăng ký tài khoản dùng thử miễn phí, tuyệt vời hơn là chỉ gửi tin nhắn văn bản. ) sau đó đăng nhập vào tài khoản hiện tại của bạn Tài khoản dùng thử Twilio cho phép bạn gửi tin nhắn văn bản đến số điện thoại đã được xác thực của riêng bạn. Khi bạn muốn gửi tin nhắn SMS đến bất kỳ số điện thoại nào ở quốc gia của bạn hoặc các quốc gia khác thì bạn có thể nâng cấp tài khoản của mình để gửi tin nhắn cho các phân số của một xu Sau khi đăng ký, bạn sẽ nhận được một số điện thoại miễn phí ở quốc gia của mình. Chúng tôi có thể sử dụng số điện thoại đó mà không cần bất kỳ cấu hình nào để gửi tin nhắn văn bản đi. Bạn cũng có thể nhận tin nhắn văn bản nhưng điều đó yêu cầu phải thay đổi webhook URL Yêu cầu trong màn hình cấu hình số điện thoại - chúng tôi sẽ đề cập đến điều đó trong một bài đăng trên blog trong tương lai Cài đặt phụ thuộc của chúng tôiMã của chúng tôi sẽ sử dụng thư viện trợ giúp để giúp gửi tin nhắn văn bản từ Python dễ dàng hơn. Chúng tôi sẽ cài đặt thư viện trợ giúp từ PyPI vào virtualenv. Đầu tiên chúng ta cần tạo virtualenv. Trong thiết bị đầu cuối của bạn, hãy sử dụng lệnh sau để tạo một virtualenv mới. Nếu bạn cần cài đặt virtualenv, hãy xem cách thiết lập Python 3, Flask và Green Unicorn trên Ubuntu 16. 04 hướng dẫn LTS Kích hoạt virtualenv source sendsms/bin/activate Dấu nhắc lệnh sẽ thay đổi sau khi chúng tôi kích hoạt đúng cách virtualenv thành một thứ như thế này Bây giờ hãy cài đặt thư viện trợ giúp Twilio Python. Chúng tôi đang sử dụng 6. 0. 0 trở lên, điều này rất quan trọng vì cú pháp trong bài đăng này không tương thích ngược với 5. x và các phiên bản thư viện trợ giúp Twilio trước đó pip install twilio>=6.0.0 Thư viện trợ giúp hiện đã được cài đặt và chúng tôi có thể sử dụng nó với mã Python mà chúng tôi tạo và thực thi Gửi SMS từ PythonKích hoạt trình thông dịch Python trong thiết bị đầu cuối bằng cách sử dụng lệnh Chúng tôi cần lấy thông tin đăng nhập tài khoản của mình từ Bảng điều khiển Twilio để kết nối mã Python với tài khoản Twilio của chúng tôi. Truy cập Bảng điều khiển Twilio và sao chép SID tài khoản và Mã thông báo xác thực vào mã Python của bạn Nhập đoạn mã sau vào trình thông dịch hoặc vào tệp Python mới. Bạn cũng có thể sao chép và dán mã từ kho lưu trữ blog-code-examples Git trong tổ chức Full Stack Python GitHub # we import the Twilio client from the dependency we just installed from twilio.rest import Client # the following line needs your Twilio Account SID and Auth Token client = Client("ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz") # change the "from_" number to your Twilio number and the "to" number # to the phone number you signed up for Twilio with, or upgrade your # account to send SMS to any phone number client.messages.create(to="+19732644152", from_="+12023351278", body="Hello from Python!") Tất cả các dòng trên bắt đầu bằng Trong vài giây, bạn sẽ thấy một thông báo xuất hiện trên điện thoại của mình. Tôi đang dùng iOS nên đây là giao diện của tin nhắn văn bản tôi nhận được Đó là nó. Bạn có thể thêm mã này vào bất kỳ mã Python nào để gửi tin nhắn văn bản. Chỉ cần giữ bí mật Mã thông báo xác thực của bạn vì nó sẽ cho phép bất kỳ ai có nó sử dụng tài khoản của bạn để gửi và nhận tin nhắn Câu hỏi? . Tôi cũng trên GitHub với tên người dùng là mattmakai Python là ngôn ngữ lập trình cấp cao, linh hoạt cho mọi thứ, từ phát triển trang web đến ứng dụng hệ điều hành Ngôn ngữ lập trình Python sử dụng các mô-đun mã có thể hoán đổi cho nhau thay vì một danh sách dài các hướng dẫn tiêu chuẩn cho các ngôn ngữ lập trình chức năng Nó có các tính năng sau.
Ngôn ngữ lập trình này cho phép chúng tôi tạo vô số hành động giao tiếp theo cách đơn giản, chẳng hạn như bot trên trang web thương hiệu của chúng tôi, tin nhắn tự động cho các chiến dịch tiếp thị của chúng tôi, kiểm soát đầu vào và đầu ra GPIO trên Orange Pi hoặc Raspberry Pi, tương tác với máy chủ WhatsApp Làm thế nào để làm điều đó từng bướcTrước hết, nếu bạn chưa có, chúng tôi khuyên bạn nên tạo một tài khoản Instasent để tận hưởng tất cả các sản phẩm của nó và có SDK cho các ngôn ngữ lập trình phổ biến nhất 1 – Điều đầu tiên bạn phải làm là cài đặt Bộ công cụ phát triển phần mềm (SDK) Instasent 2 – Bước tiếp theo là nhập thư viện
3 – Sau đó, đã đến lúc tạo ứng dụng khách mà chúng tôi muốn gửi SMS. Trong mã này, bạn phải đảm bảo bao gồm mã thông báo API của mình
4 – Sau đó, chúng tôi phải gửi tin nhắn SMS. Bạn có thể làm điều đó với Ký tự Unicode (mà bạn có thể gửi biểu tượng cảm xúc) hoặc (giới hạn ở các ký tự Latinh, bao gồm cả ñ). Hãy xem một ví dụ về từng cái bảng chữ cái
GSM
5 – Cuối cùng, chúng ta sẽ chỉ phải kiểm tra phản hồi
Thí dụĐây là ví dụ đơn giản nhất về gửi SMS qua cURL. Tại đây, trong phần “Ủy quyền”, bạn sẽ phải đặt mã thông báo API của mình ________số 8_______Phản hồi
Cân nhắc và khuyến nghịNgười gửiTrường “từ” là nơi người gửi tin nhắn sẽ xuất hiện với người nhận. Hãy nhớ rằng trường này có giới hạn 11 ký tự, vì vậy nếu tên thương hiệu của bạn dài hơn, chúng tôi khuyên bạn nên “cắt bớt” nó, chẳng hạn như bằng cách nối các từ lại với nhau. Người nhậnKhi bạn chèn số của một trong các số liên lạc của mình, hãy nhớ rằng số đó phải luôn ở dạng E. định dạng 164. Như bạn đã biết, mỗi quốc gia có một tiền tố mà chúng tôi phải đưa vào khi thực hiện cuộc gọi hoặc gửi tin nhắn. Tiền tố của Tây Ban Nha là 34. Do đó, hãy làm theo các bước sau
Bộ ký tựNhư đã đề cập ở trên, các loại mã hóa khác nhau tùy thuộc vào những gì bạn muốn sử dụng trong SMS của mình
Khi bạn viết SMS, Instasent sẽ chọn loại ký hiệu bạn đang sử dụng Độ dài tin nhắnTùy thuộc vào bộ ký tự bạn sử dụng, bạn sẽ có một lề khác nhau về độ dài của tin nhắn văn bản. Hãy suy nghĩ cẩn thận trước khi sử dụng một trong hai vì sự khác biệt giữa chúng là rất quan trọng
Nếu bạn vượt quá số lượng ký tự, hệ thống sẽ phát hiện nó dưới dạng một số SMS (bất kể bạn sử dụng bộ ký tự nào). Người nhận sẽ nhận được nó dưới dạng một SMS duy nhất (tất cả cùng nhau), nhưng bạn sẽ được tính (và tính phí) thành nhiều. Hãy ghi nhớ điều này để tránh bất ngờ bộ sưu tập người đưa thưTrong phần Tài liệu Instasent, bạn sẽ có sẵn InstasentAPI. người đưa thư_collection. json để bạn có thể đưa nó vào Postman để sử dụng API SDK PythonInstasent cung cấp SKD để gói gọn và tạo điều kiện thuận lợi cho việc sử dụng Rest API của chúng tôi bằng một số ngôn ngữ, bao gồm cả Python Điều đầu tiên cần làm là cài đặt SDK bằng pip
Khi chúng tôi đã cài đặt SDK, chúng tôi có thể sử dụng nó
Đảm bảo bao gồm mã thông báo API của bạn trong ngoặc đơn Chỉ gửi SMS với các ký tự GSM
Gửi tin nhắn SMS với các ký tự Unicode phản ứng = khách hàng. send_sms_unicode(‘Instasent’, ‘+34666000000’, ‘Thông báo kiểm tra Unicode. ña éáíóú 😀’) 0Các lỗi kỹ thuật phổ biến nhấtCác lỗi phổ biến nhất là mã phản hồi, sẽ đến với bạn dưới dạng mã HTTP từ API. Hãy xem ý nghĩa của từng người Mã 201 là mã dương, nghĩa là tin nhắn đã được gửi chính xác Sự cố xảy ra khi mã chúng tôi nhận được khác với mã đó. Trong trường hợp này, mỗi mã có giải thích của nó
Một trong những lỗi phổ biến nhất là 422, lỗi này cho chúng tôi biết chính xác lỗi gửi SMS không thành công. Trong ví dụ bên dưới, chúng tôi thấy rằng lỗi là số không hợp lệ 1Một lỗi phổ biến khác là 429, có nghĩa là chúng tôi muốn gửi quá nhiều SMS mỗi phút. Giải pháp cho vấn đề này chỉ đơn giản là làm chậm tốc độ chúng tôi gửi tin nhắn mỗi phút Tại sao làm điều đó với API Instasent?Trong Instasent, chúng tôi có một giao diện rất thân thiện sẽ tạo điều kiện thuận lợi và tăng tốc mọi tác vụ lập trình và vận chuyển. Ngoài ra, API HTTP của chúng tôi sẽ cho phép bạn
Đối với mỗi hành động được đề cập ở trên, chúng tôi có một phần thử nghiệm nơi bạn có thể thử cách chúng hoạt động để xem chúng có phù hợp với nhu cầu của bạn không. Ngoài ra chúng ta còn có tool tạo code tự động Giá cảChúng tôi giúp bạn dễ dàng chỉ trả tiền cho SMS bạn gửi, với mức giá phù hợp với những gì bạn thực sự cần, không cần đăng ký hoặc phí hàng tháng. Ngoài ra, chúng tôi cung cấp cho bạn một công cụ tính giá để bạn có thể biết được chi phí gửi SMS mà bạn muốn gửi là bao nhiêu (giá thay đổi tùy thuộc vào quốc gia đích và số lượng SMS bạn muốn gửi) Chúng tôi có các phương thức thanh toán khác nhau, bao gồm Paypal, Thẻ tín dụng và Chuyển khoản ngân hàng và chúng tôi làm việc tại hơn 200 quốc gia Chúng tôi có thể gửi SMS qua Python không?Gửi tin nhắn SMS bằng Python qua API REST. Để gửi tin nhắn SMS đi từ tài khoản Twilio của bạn, bạn cần tạo HTTP POST cho tài nguyên Tin nhắn của Twilio . Thư viện Python của Twilio giúp bạn tạo một phiên bản mới của tài nguyên Thư, chỉ định các tham số Đến, Từ và Nội dung của thư của bạn.
Làm cách nào để gửi SMS miễn phí từ Python?Trước tiên, bạn cần tạo KHÓA API REST để gửi SMS bằng Python Script. . ủy quyền – true, Cung cấp “YOUR_API_KEY”. . tin nhắn – đúng, Tin nhắn “văn bản” sẽ được gửi ngôn ngữ – sai, Ngôn ngữ mặc định là “tiếng Anh”. . route – true, Đối với SMS nhanh, hãy sử dụng “q” Làm cách nào để gửi SMS di động bằng Python?Hoặc làm theo các bước để gửi SMS. . Nhập ứng dụng khách twilio từ twilio. . Nhận và lưu trữ account_sid và auth_token từ tài khoản Twilio của bạn Tạo phiên bản của Máy khách bằng cách chuyển account_sid và auth_token Bây giờ, lấy số from từ tài khoản Twilio của bạn Bây giờ, hãy gửi tin nhắn bằng ứng dụng khách Làm cách nào để gửi SMS bằng Python mà không cần Twilio?Điều này có thể được thực hiện bằng cách gửi email qua SMTP đến cổng SMS của nhà cung cấp dịch vụ của số điện thoại người nhận . Mỗi nhà cung cấp dịch vụ có một địa chỉ email duy nhất thường ở dạng {number}@{host}. Trong Python, bạn có thể sử dụng thư viện smptlib (hoặc aiosmtplib) dựng sẵn để gửi email. |