Validasi Penerima: Contoh Kode Verifikasi Email
Burung
8 Jul 2020
1 min read

Poin Penting
Validasi berbasis data, bukan dugaan. Validasi Penerima Bird (sebelumnya SparkPost) menggunakan miliaran peristiwa pengiriman dan keterlibatan yang nyata untuk menentukan apakah alamat email valid, berisiko, tidak dapat dikirim, atau mengandung kesalahan ketik.
Lebih cerdas daripada pemeriksaan sintaksis. Tidak seperti alat berbasis regex tradisional, model ini menggunakan data dunia nyata untuk mengklasifikasikan keberhasilan pengiriman dan bahkan menyarankan perbaikan dengan fitur “did_you_mean”.
Integrasi waktu nyata. Validasi alamat email langsung di dalam formulir pendaftaran Anda, CRM, atau daftar besar melalui endpoint API /recipient-validation/single/.
Contoh yang berfokus pada pengembang. Cuplikan kode yang berfungsi tersedia dalam beberapa bahasa pemrograman — termasuk Python, Node.js, PHP, Go, C#, Ruby, Java, Rust, dan lainnya — untuk membuat integrasi menjadi sederhana.
Praktik keamanan terbaik. Kunci API harus selalu disimpan di sisi server (tidak pernah diekspos dalam kode sisi klien), menggunakan variabel lingkungan seperti SPARKPOST_API_KEY.
Di luar validasi. Gabungkan Validasi Penerima dengan konsumen webhook atau Azure Functions untuk membangun alur kerja verifikasi yang dapat diskalakan dan tanpa server untuk penggunaan produksi.
Peningkatan berkelanjutan. Pengembang didorong untuk menyumbangkan contoh dalam bahasa lain, memastikan aksesibilitas global di seluruh ekosistem.
Sorotan Tanya jawab
Apa itu Validasi Penerima?
Ini adalah sistem validasi email yang didukung oleh API Bird yang mengklasifikasikan alamat sebagai valid, berisiko, netral, tidak dapat dikirim, atau kesalahan ketik, memanfaatkan data dari miliaran peristiwa pengiriman dunia nyata.
Apa bedanya dengan validasi sintaks dasar?
Pembenar tradisional hanya memeriksa format; sistem Bird mengevaluasi data langsung seperti tingkat loncatan, metrik keterlibatan, dan pola pengiriman untuk membuat prediksi yang lebih cerdas.
Informasi apa yang dikembalikan oleh API?
Setiap respons validasi mencakup:
Klasifikasi status (valid, berisiko, dll.)
Kode alasan (mengapa sebuah alamat ditandai)
Koreksi “did_you_mean” opsional untuk kesalahan ketik
Metadata seperti harga, negara, dan kolom alasan status
Bisakah saya memvalidasi email secara massal?
Ya. Anda dapat mengunggah seluruh daftar di aplikasi web atau menggunakan API untuk memvalidasi alamat tunggal secara programatis sebagai bagian dari alur kerja Anda.
Bahasa pemrograman apa saja yang didukung?
Contoh kode tersedia untuk lebih dari selusin bahasa — termasuk Python, Node.js, PHP, Go, C#, Java, Rust, dan Perl — mencakup sistem modern dan legacy.
Di mana saya harus menyimpan kunci API saya?
Selalu simpan di sisi server menggunakan variabel lingkungan seperti
SPARKPOST_API_KEY. Jangan pernah menyematkannya dalam skrip sisi klien atau kode browser.Bisakah ini diintegrasikan ke dalam alur kerja otomatis?
Tentu saja. Anda dapat menggunakan Flow Builder dari Bird atau Azure Functions untuk memvalidasi alamat secara real time sebelum memicu otomatisasi selanjutnya, seperti email konfirmasi atau pembaruan CRM.
Mengapa bisnis harus peduli tentang akurasi validasi?
Validasi berkualitas tinggi meningkatkan reputasi pengirim, mencegah kesalahan, dan meningkatkan ROI kampanye dengan memastikan setiap pesan mencapai kotak masuk yang valid.
Apa selanjutnya untuk pengembang?
Bird mengundang kontribusi komunitas untuk contoh bahasa baru dan perbaikan pada yang sudah ada, membantu memperluas aksesibilitas validasi di seluruh dunia.
Validasi Penerima SparkPost sekarang tersedia baik untuk pelanggan SparkPost yang sudah ada maupun untuk pelanggan baru yang belum mengirim. Ini menggunakan analisis berbasis data yang kuat pada miliaran peristiwa bounce, pengiriman, dan keterlibatan setiap hari untuk melatih algoritme kami, menghadirkan salah satu alat validasi email berbasis data yang paling kuat di pasar, sehingga Anda dapat mengirim email dengan lebih cerdas.
SparkPost Validasi Penerima sekarang tersedia baik untuk pelanggan SparkPost yang sudah ada maupun untuk pelanggan baru yang belum mengirimkan. Ini menggunakan analisis berbasis data yang kuat pada miliaran kejadian bounce, pengiriman, dan keterlibatan setiap hari untuk melatih algoritma kami, membawa Anda salah satu alat validasi email berbasis data yang paling kuat di pasar, sehingga Anda dapat mengirim email dengan lebih cerdas. Ini merupakan evolusi terbaru dalam teknik validasi email, bergerak melampaui pemeriksaan sintaks sederhana ke pendekatan berbasis data yang canggih yang memberikan hasil yang lebih akurat.
Artikel ini menjelaskan bagaimana Anda dapat memanfaatkan data yang akan Anda terima kembali pada setiap penerima yang divalidasi – Anda akan melihat kami mengklasifikasikan alamat menjadi “valid”, “berisiko”, “netral”, “tidak dapat dikirim”, dan “kesalahan ketik”. Kami memberikan kode “alasan” dan juga “did_you_mean” untuk kesalahan ketik alamat yang diketahui.
SparkPost Validasi Penerima sekarang tersedia baik untuk pelanggan SparkPost yang sudah ada maupun untuk pelanggan baru yang belum mengirimkan. Ini menggunakan analisis berbasis data yang kuat pada miliaran kejadian bounce, pengiriman, dan keterlibatan setiap hari untuk melatih algoritma kami, membawa Anda salah satu alat validasi email berbasis data yang paling kuat di pasar, sehingga Anda dapat mengirim email dengan lebih cerdas. Ini merupakan evolusi terbaru dalam teknik validasi email, bergerak melampaui pemeriksaan sintaks sederhana ke pendekatan berbasis data yang canggih yang memberikan hasil yang lebih akurat.
Artikel ini menjelaskan bagaimana Anda dapat memanfaatkan data yang akan Anda terima kembali pada setiap penerima yang divalidasi – Anda akan melihat kami mengklasifikasikan alamat menjadi “valid”, “berisiko”, “netral”, “tidak dapat dikirim”, dan “kesalahan ketik”. Kami memberikan kode “alasan” dan juga “did_you_mean” untuk kesalahan ketik alamat yang diketahui.
SparkPost Validasi Penerima sekarang tersedia baik untuk pelanggan SparkPost yang sudah ada maupun untuk pelanggan baru yang belum mengirimkan. Ini menggunakan analisis berbasis data yang kuat pada miliaran kejadian bounce, pengiriman, dan keterlibatan setiap hari untuk melatih algoritma kami, membawa Anda salah satu alat validasi email berbasis data yang paling kuat di pasar, sehingga Anda dapat mengirim email dengan lebih cerdas. Ini merupakan evolusi terbaru dalam teknik validasi email, bergerak melampaui pemeriksaan sintaks sederhana ke pendekatan berbasis data yang canggih yang memberikan hasil yang lebih akurat.
Artikel ini menjelaskan bagaimana Anda dapat memanfaatkan data yang akan Anda terima kembali pada setiap penerima yang divalidasi – Anda akan melihat kami mengklasifikasikan alamat menjadi “valid”, “berisiko”, “netral”, “tidak dapat dikirim”, dan “kesalahan ketik”. Kami memberikan kode “alasan” dan juga “did_you_mean” untuk kesalahan ketik alamat yang diketahui.
C#
Saya kurang familiar dengan C# – bagi saya, itu terlihat cukup mirip dengan Java, daripada mirip dengan C. Saya bisa menyusun ini mengikuti contoh yang ditunjukkan di perpustakaan permintaan System.Net.Http.
Postman dapat secara otomatis menghasilkan kode contoh menggunakan RestSharp, jika Anda lebih menyukainya.
Saya kurang familiar dengan C# – bagi saya, itu terlihat cukup mirip dengan Java, daripada mirip dengan C. Saya bisa menyusun ini mengikuti contoh yang ditunjukkan di perpustakaan permintaan System.Net.Http.
Postman dapat secara otomatis menghasilkan kode contoh menggunakan RestSharp, jika Anda lebih menyukainya.
Saya kurang familiar dengan C# – bagi saya, itu terlihat cukup mirip dengan Java, daripada mirip dengan C. Saya bisa menyusun ini mengikuti contoh yang ditunjukkan di perpustakaan permintaan System.Net.Http.
Postman dapat secara otomatis menghasilkan kode contoh menggunakan RestSharp, jika Anda lebih menyukainya.
permintaan API
Di aplikasi web SparkPost, Anda dapat menyeret & menjatuhkan seluruh daftar untuk validasi. Anda juga dapat menggunakan API untuk memvalidasi alamat tunggal, sehingga Anda dapat membangun validasi langsung ke dalam alur kerja entri alamat Anda.
Beberapa waktu lalu kami membuat alat baris perintah Python menggunakan API ini. Kami mendiskusikan apa yang harus kami lakukan untuk bahasa lain – dan inilah kami! Mari kita mulai.
Folder repositori Github ini memiliki contoh panggilan API Validasi Penerima yang bekerja dalam sekitar selusin bahasa yang berbeda. Kami berusaha untuk mencakup bahasa yang paling populer yang dapat diterapkan.
Cara umum untuk bekerja melalui semua contoh ini adalah:
Ambil kunci Anda dari variabel lingkungan
SPARKPOST_API_KEYLakukan panggilan API ke
/api/v1/recipient-validation/single/untuk memvalidasi seorang penerimaTerima kembali string respons, yang berisi data yang diformat dalam JSON dengan hasilnya
Cetak hasilnya
Bahasa | Perpustakaan HTTP yang digunakan | Tempat validasi terjadi | Pertimbangan penting |
|---|---|---|---|
Bash / Curl | curl CLI | Penggunaan hanya di terminal | Tidak ada pemrosesan JSON respons |
PHP | curl_setopt | Sisi server | Beberapa opsi perpustakaan tersedia |
Python | requests | Aplikasi skrip atau backend | Mengonversi JSON secara otomatis menjadi dict |
Node.js | axios (disarankan) | Hanya sisi server | Hindari mengekspos kunci API di sisi klien |
Go | net/http + encoding/json | Layanan backend | Kepastian tipe yang kuat dengan struktur kustom |
C# | System.Net.Http | Aplikasi server | Postman dapat menghasilkan versi RestSharp |
Java | HttpURLConnection | Layanan server | Verbose tetapi dapat diterapkan secara luas |
C / C++ | libcurl + OpenSSL | Alat tingkat sistem | Keamanan memori manual diperlukan |
Lua | luasocket + luasec | Pendamping skrip | Dapat mengalir respons chunked dengan efisien |
Perl | LWP::UserAgent | Sistem warisan | Pemrosesan JSON opsional |
VB.net | Visual Studio SDK | Aplikasi konsol Windows | Pengaturan variabel lingkungan diperlukan |
Rust | reqwest + tokio async | Layanan web modern | Async diperlukan untuk penanganan header |
SparkPost memiliki perpustakaan untuk beberapa, tetapi tidak semua bahasa yang dicakup di sini. Kami memilih untuk menulis contoh-contoh ini "asli" sebagai gantinya, sehingga kami dapat a) mencakup lebih banyak bahasa, b) menunjukkan betapa sederhana nya kode dasar, dan c) memungkinkan Anda untuk melihat dengan jelas kesamaan dan perbedaan antara bahasa.
Di aplikasi web SparkPost, Anda dapat menyeret & menjatuhkan seluruh daftar untuk validasi. Anda juga dapat menggunakan API untuk memvalidasi alamat tunggal, sehingga Anda dapat membangun validasi langsung ke dalam alur kerja entri alamat Anda.
Beberapa waktu lalu kami membuat alat baris perintah Python menggunakan API ini. Kami mendiskusikan apa yang harus kami lakukan untuk bahasa lain – dan inilah kami! Mari kita mulai.
Folder repositori Github ini memiliki contoh panggilan API Validasi Penerima yang bekerja dalam sekitar selusin bahasa yang berbeda. Kami berusaha untuk mencakup bahasa yang paling populer yang dapat diterapkan.
Cara umum untuk bekerja melalui semua contoh ini adalah:
Ambil kunci Anda dari variabel lingkungan
SPARKPOST_API_KEYLakukan panggilan API ke
/api/v1/recipient-validation/single/untuk memvalidasi seorang penerimaTerima kembali string respons, yang berisi data yang diformat dalam JSON dengan hasilnya
Cetak hasilnya
Bahasa | Perpustakaan HTTP yang digunakan | Tempat validasi terjadi | Pertimbangan penting |
|---|---|---|---|
Bash / Curl | curl CLI | Penggunaan hanya di terminal | Tidak ada pemrosesan JSON respons |
PHP | curl_setopt | Sisi server | Beberapa opsi perpustakaan tersedia |
Python | requests | Aplikasi skrip atau backend | Mengonversi JSON secara otomatis menjadi dict |
Node.js | axios (disarankan) | Hanya sisi server | Hindari mengekspos kunci API di sisi klien |
Go | net/http + encoding/json | Layanan backend | Kepastian tipe yang kuat dengan struktur kustom |
C# | System.Net.Http | Aplikasi server | Postman dapat menghasilkan versi RestSharp |
Java | HttpURLConnection | Layanan server | Verbose tetapi dapat diterapkan secara luas |
C / C++ | libcurl + OpenSSL | Alat tingkat sistem | Keamanan memori manual diperlukan |
Lua | luasocket + luasec | Pendamping skrip | Dapat mengalir respons chunked dengan efisien |
Perl | LWP::UserAgent | Sistem warisan | Pemrosesan JSON opsional |
VB.net | Visual Studio SDK | Aplikasi konsol Windows | Pengaturan variabel lingkungan diperlukan |
Rust | reqwest + tokio async | Layanan web modern | Async diperlukan untuk penanganan header |
SparkPost memiliki perpustakaan untuk beberapa, tetapi tidak semua bahasa yang dicakup di sini. Kami memilih untuk menulis contoh-contoh ini "asli" sebagai gantinya, sehingga kami dapat a) mencakup lebih banyak bahasa, b) menunjukkan betapa sederhana nya kode dasar, dan c) memungkinkan Anda untuk melihat dengan jelas kesamaan dan perbedaan antara bahasa.
Di aplikasi web SparkPost, Anda dapat menyeret & menjatuhkan seluruh daftar untuk validasi. Anda juga dapat menggunakan API untuk memvalidasi alamat tunggal, sehingga Anda dapat membangun validasi langsung ke dalam alur kerja entri alamat Anda.
Beberapa waktu lalu kami membuat alat baris perintah Python menggunakan API ini. Kami mendiskusikan apa yang harus kami lakukan untuk bahasa lain – dan inilah kami! Mari kita mulai.
Folder repositori Github ini memiliki contoh panggilan API Validasi Penerima yang bekerja dalam sekitar selusin bahasa yang berbeda. Kami berusaha untuk mencakup bahasa yang paling populer yang dapat diterapkan.
Cara umum untuk bekerja melalui semua contoh ini adalah:
Ambil kunci Anda dari variabel lingkungan
SPARKPOST_API_KEYLakukan panggilan API ke
/api/v1/recipient-validation/single/untuk memvalidasi seorang penerimaTerima kembali string respons, yang berisi data yang diformat dalam JSON dengan hasilnya
Cetak hasilnya
Bahasa | Perpustakaan HTTP yang digunakan | Tempat validasi terjadi | Pertimbangan penting |
|---|---|---|---|
Bash / Curl | curl CLI | Penggunaan hanya di terminal | Tidak ada pemrosesan JSON respons |
PHP | curl_setopt | Sisi server | Beberapa opsi perpustakaan tersedia |
Python | requests | Aplikasi skrip atau backend | Mengonversi JSON secara otomatis menjadi dict |
Node.js | axios (disarankan) | Hanya sisi server | Hindari mengekspos kunci API di sisi klien |
Go | net/http + encoding/json | Layanan backend | Kepastian tipe yang kuat dengan struktur kustom |
C# | System.Net.Http | Aplikasi server | Postman dapat menghasilkan versi RestSharp |
Java | HttpURLConnection | Layanan server | Verbose tetapi dapat diterapkan secara luas |
C / C++ | libcurl + OpenSSL | Alat tingkat sistem | Keamanan memori manual diperlukan |
Lua | luasocket + luasec | Pendamping skrip | Dapat mengalir respons chunked dengan efisien |
Perl | LWP::UserAgent | Sistem warisan | Pemrosesan JSON opsional |
VB.net | Visual Studio SDK | Aplikasi konsol Windows | Pengaturan variabel lingkungan diperlukan |
Rust | reqwest + tokio async | Layanan web modern | Async diperlukan untuk penanganan header |
SparkPost memiliki perpustakaan untuk beberapa, tetapi tidak semua bahasa yang dicakup di sini. Kami memilih untuk menulis contoh-contoh ini "asli" sebagai gantinya, sehingga kami dapat a) mencakup lebih banyak bahasa, b) menunjukkan betapa sederhana nya kode dasar, dan c) memungkinkan Anda untuk melihat dengan jelas kesamaan dan perbedaan antara bahasa.
Bash / Curl
Ini memenangkan hadiah untuk kode terpendek – ini hanya menggunakan alat baris perintah “curl” untuk melakukan permintaan dan mencetak balasan langsung ke terminal. Anda dapat melihat outputnya adalah sebuah string, mengandung JSON; kami sebenarnya tidak menguraikan atribut hasil individual.
Ini memenangkan hadiah untuk kode terpendek – ini hanya menggunakan alat baris perintah “curl” untuk melakukan permintaan dan mencetak balasan langsung ke terminal. Anda dapat melihat outputnya adalah sebuah string, mengandung JSON; kami sebenarnya tidak menguraikan atribut hasil individual.
Ini memenangkan hadiah untuk kode terpendek – ini hanya menggunakan alat baris perintah “curl” untuk melakukan permintaan dan mencetak balasan langsung ke terminal. Anda dapat melihat outputnya adalah sebuah string, mengandung JSON; kami sebenarnya tidak menguraikan atribut hasil individual.
PHP
Trusty PHP memiliki beberapa cara berbeda untuk melakukan panggilan API HTTPS. Di sini, kami memilih untuk menggunakan curl_setopt bersama dengan curl_exec.
Jika Anda lebih suka HTTP_Request2 atau pecl_http, maka Postman memiliki generator kode bawaan yang dapat Anda gunakan untuk membuat contoh serupa – cukup atur permintaan GET yang berfungsi dan gunakan tombol “Kode”.

Trusty PHP memiliki beberapa cara berbeda untuk melakukan panggilan API HTTPS. Di sini, kami memilih untuk menggunakan curl_setopt bersama dengan curl_exec.
Jika Anda lebih suka HTTP_Request2 atau pecl_http, maka Postman memiliki generator kode bawaan yang dapat Anda gunakan untuk membuat contoh serupa – cukup atur permintaan GET yang berfungsi dan gunakan tombol “Kode”.

Trusty PHP memiliki beberapa cara berbeda untuk melakukan panggilan API HTTPS. Di sini, kami memilih untuk menggunakan curl_setopt bersama dengan curl_exec.
Jika Anda lebih suka HTTP_Request2 atau pecl_http, maka Postman memiliki generator kode bawaan yang dapat Anda gunakan untuk membuat contoh serupa – cukup atur permintaan GET yang berfungsi dan gunakan tombol “Kode”.

Python
Ini menggunakan modul requests yang populer, yang bersifat tingkat tinggi dan oleh karena itu mudah digunakan. Contoh ini memeriksa kode status yang dikembalikan, mengonversi hasil JSON kembali ke dalam objek kamus Python, dan mencetak objek yang dihasilkan alih-alih hanya mencetak string.
Jika Anda lebih suka menggunakan pustaka bawaan http.client, Postman juga dapat menghasilkan kode untuk itu; tidak terlalu panjang.
Ini menggunakan modul requests yang populer, yang bersifat tingkat tinggi dan oleh karena itu mudah digunakan. Contoh ini memeriksa kode status yang dikembalikan, mengonversi hasil JSON kembali ke dalam objek kamus Python, dan mencetak objek yang dihasilkan alih-alih hanya mencetak string.
Jika Anda lebih suka menggunakan pustaka bawaan http.client, Postman juga dapat menghasilkan kode untuk itu; tidak terlalu panjang.
Ini menggunakan modul requests yang populer, yang bersifat tingkat tinggi dan oleh karena itu mudah digunakan. Contoh ini memeriksa kode status yang dikembalikan, mengonversi hasil JSON kembali ke dalam objek kamus Python, dan mencetak objek yang dihasilkan alih-alih hanya mencetak string.
Jika Anda lebih suka menggunakan pustaka bawaan http.client, Postman juga dapat menghasilkan kode untuk itu; tidak terlalu panjang.
Node.js
Ada banyak sekali pustaka HTTP(S) node.js yang berbeda. Saya mulai dengan paket lama request (menggunakan fungsi callback) tetapi itu sudah tidak lagi dipelihara dan tidak aktif lagi. Saya memilih paket baru axios (menggunakan janji).
Postman juga dapat memberikan contoh natif Javascript dan Unirest, jika Anda lebih memilih yang itu.
Karena kode ini memerlukan akses ke kunci API Anda, kami sangat menyarankan untuk memanggil API kami dari sisi server Anda, jangan pernah dari sisi klien (peramban / perangkat mobile).
Ada banyak sekali pustaka HTTP(S) node.js yang berbeda. Saya mulai dengan paket lama request (menggunakan fungsi callback) tetapi itu sudah tidak lagi dipelihara dan tidak aktif lagi. Saya memilih paket baru axios (menggunakan janji).
Postman juga dapat memberikan contoh natif Javascript dan Unirest, jika Anda lebih memilih yang itu.
Karena kode ini memerlukan akses ke kunci API Anda, kami sangat menyarankan untuk memanggil API kami dari sisi server Anda, jangan pernah dari sisi klien (peramban / perangkat mobile).
Ada banyak sekali pustaka HTTP(S) node.js yang berbeda. Saya mulai dengan paket lama request (menggunakan fungsi callback) tetapi itu sudah tidak lagi dipelihara dan tidak aktif lagi. Saya memilih paket baru axios (menggunakan janji).
Postman juga dapat memberikan contoh natif Javascript dan Unirest, jika Anda lebih memilih yang itu.
Karena kode ini memerlukan akses ke kunci API Anda, kami sangat menyarankan untuk memanggil API kami dari sisi server Anda, jangan pernah dari sisi klien (peramban / perangkat mobile).
Pergi
Go berusaha menuju filosofi "satu cara yang baik" untuk melakukan sesuatu; dalam hal ini, menggunakan pustaka bawaan "baterai termasuk" net/http, encoding/json dan lainnya.
Panjang kode sebagian besar disebabkan oleh klausa pemeriksaan kesalahan eksplisit if err != nil {} di mana-mana (tidak ada pengecualian LOL).
Kami juga mendeklarasikan struktur objek hasil dengan tag field, untuk memungkinkan kami "unmarshal" string JSON yang dikembalikan. Kami menumpuk tag "results" dan "errors" untuk memungkinkan kedua jenis pengembalian.
Saya suka kecepatan, keamanan tipe, dan kejelasan Go, meskipun kode ini lebih panjang daripada contoh sebelumnya.
Go berusaha menuju filosofi "satu cara yang baik" untuk melakukan sesuatu; dalam hal ini, menggunakan pustaka bawaan "baterai termasuk" net/http, encoding/json dan lainnya.
Panjang kode sebagian besar disebabkan oleh klausa pemeriksaan kesalahan eksplisit if err != nil {} di mana-mana (tidak ada pengecualian LOL).
Kami juga mendeklarasikan struktur objek hasil dengan tag field, untuk memungkinkan kami "unmarshal" string JSON yang dikembalikan. Kami menumpuk tag "results" dan "errors" untuk memungkinkan kedua jenis pengembalian.
Saya suka kecepatan, keamanan tipe, dan kejelasan Go, meskipun kode ini lebih panjang daripada contoh sebelumnya.
Go berusaha menuju filosofi "satu cara yang baik" untuk melakukan sesuatu; dalam hal ini, menggunakan pustaka bawaan "baterai termasuk" net/http, encoding/json dan lainnya.
Panjang kode sebagian besar disebabkan oleh klausa pemeriksaan kesalahan eksplisit if err != nil {} di mana-mana (tidak ada pengecualian LOL).
Kami juga mendeklarasikan struktur objek hasil dengan tag field, untuk memungkinkan kami "unmarshal" string JSON yang dikembalikan. Kami menumpuk tag "results" dan "errors" untuk memungkinkan kedua jenis pengembalian.
Saya suka kecepatan, keamanan tipe, dan kejelasan Go, meskipun kode ini lebih panjang daripada contoh sebelumnya.
Java
Saya belum menulis Java serius sebelumnya, tetapi mudah untuk menyusun ini dengan mengikuti pendekatan umum yang digunakan dalam perpustakaan SparkPost untuk panggilan GET lainnya.
Secara kebetulan, menggunakan VS Code sebagai editor / debugger saya bekerja dengan sangat baik untuk semua bahasa di sini, memberikan saya penyorotan sintaks, langkah debugger / tampilan variabel, dll. The InputStreamReader dan BufferedReader adalah serupa dengan (dan saya berasumsi disalin oleh) Go.
Saya belum menulis Java serius sebelumnya, tetapi mudah untuk menyusun ini dengan mengikuti pendekatan umum yang digunakan dalam perpustakaan SparkPost untuk panggilan GET lainnya.
Secara kebetulan, menggunakan VS Code sebagai editor / debugger saya bekerja dengan sangat baik untuk semua bahasa di sini, memberikan saya penyorotan sintaks, langkah debugger / tampilan variabel, dll. The InputStreamReader dan BufferedReader adalah serupa dengan (dan saya berasumsi disalin oleh) Go.
Saya belum menulis Java serius sebelumnya, tetapi mudah untuk menyusun ini dengan mengikuti pendekatan umum yang digunakan dalam perpustakaan SparkPost untuk panggilan GET lainnya.
Secara kebetulan, menggunakan VS Code sebagai editor / debugger saya bekerja dengan sangat baik untuk semua bahasa di sini, memberikan saya penyorotan sintaks, langkah debugger / tampilan variabel, dll. The InputStreamReader dan BufferedReader adalah serupa dengan (dan saya berasumsi disalin oleh) Go.
C / C++
Ini adalah perjalanan menelusuri kenangan, saat saya menulis banyak kode C di tahun 1990-an, beberapa masih berjalan jauh di dalam jaringan telekomunikasi di suatu tempat. Karena sejarah C mendahului Web modern, tidak mengherankan bahwa dukungan pustaka adalah tugas manual. Kami perlu mengunduh (dan menyusun) versi terbaru dari Libcurl, yang terhubung ke pustaka OpenSSL – lihat README untuk langkah-langkah yang sebenarnya.
Ini terasa seperti banyak pekerjaan dibandingkan dengan bahasa modern, terutama ketika Go (atau Lua, atau Python, atau yang lainnya) cukup cepat untuk tugas seperti ini.
Hal lain yang saya lupakan, meskipun saya membawa bekas luka dari pertempuran sebelumnya, adalah ketakutan dari alokasi memori! Untuk menjaga contoh tetap sederhana, saya telah mengalokasikan panjang string URL sebagai 1024 karakter, dan memeriksa batas panjang alamat email (menggunakan strlen) sebelum kami menggabungkannya (menggunakan strcat).
Kami memperlakukan string Otorisasi dengan kunci API yang digabungkan dengan cara yang sama .. meskipun kita tahu kunci API yang valid tidak akan pernah terlalu panjang .. itu tidak melindungi! Input pengguna yang berasal dari variabel lingkungan bisa jadi apa saja. Anda harus memprogram dengan defensif.
Seorang pengembang yang lebih canggih mungkin menggunakan malloc daripada alokasi variabel tumpukan, dan menghitung seberapa panjang string yang digabungkan perlu. Harus memikirkan tentang kompleksitas tambahan ini membuat saya merasa nyeri di dioda di sisi kiri saya; itu mengingatkan saya akan risiko yang dihadapi programmer C setiap hari, berusaha menghindari kelebihan buffer dan efek samping yang tidak terduga. Yang mengarah kita pada ..
Ini adalah perjalanan menelusuri kenangan, saat saya menulis banyak kode C di tahun 1990-an, beberapa masih berjalan jauh di dalam jaringan telekomunikasi di suatu tempat. Karena sejarah C mendahului Web modern, tidak mengherankan bahwa dukungan pustaka adalah tugas manual. Kami perlu mengunduh (dan menyusun) versi terbaru dari Libcurl, yang terhubung ke pustaka OpenSSL – lihat README untuk langkah-langkah yang sebenarnya.
Ini terasa seperti banyak pekerjaan dibandingkan dengan bahasa modern, terutama ketika Go (atau Lua, atau Python, atau yang lainnya) cukup cepat untuk tugas seperti ini.
Hal lain yang saya lupakan, meskipun saya membawa bekas luka dari pertempuran sebelumnya, adalah ketakutan dari alokasi memori! Untuk menjaga contoh tetap sederhana, saya telah mengalokasikan panjang string URL sebagai 1024 karakter, dan memeriksa batas panjang alamat email (menggunakan strlen) sebelum kami menggabungkannya (menggunakan strcat).
Kami memperlakukan string Otorisasi dengan kunci API yang digabungkan dengan cara yang sama .. meskipun kita tahu kunci API yang valid tidak akan pernah terlalu panjang .. itu tidak melindungi! Input pengguna yang berasal dari variabel lingkungan bisa jadi apa saja. Anda harus memprogram dengan defensif.
Seorang pengembang yang lebih canggih mungkin menggunakan malloc daripada alokasi variabel tumpukan, dan menghitung seberapa panjang string yang digabungkan perlu. Harus memikirkan tentang kompleksitas tambahan ini membuat saya merasa nyeri di dioda di sisi kiri saya; itu mengingatkan saya akan risiko yang dihadapi programmer C setiap hari, berusaha menghindari kelebihan buffer dan efek samping yang tidak terduga. Yang mengarah kita pada ..
Ini adalah perjalanan menelusuri kenangan, saat saya menulis banyak kode C di tahun 1990-an, beberapa masih berjalan jauh di dalam jaringan telekomunikasi di suatu tempat. Karena sejarah C mendahului Web modern, tidak mengherankan bahwa dukungan pustaka adalah tugas manual. Kami perlu mengunduh (dan menyusun) versi terbaru dari Libcurl, yang terhubung ke pustaka OpenSSL – lihat README untuk langkah-langkah yang sebenarnya.
Ini terasa seperti banyak pekerjaan dibandingkan dengan bahasa modern, terutama ketika Go (atau Lua, atau Python, atau yang lainnya) cukup cepat untuk tugas seperti ini.
Hal lain yang saya lupakan, meskipun saya membawa bekas luka dari pertempuran sebelumnya, adalah ketakutan dari alokasi memori! Untuk menjaga contoh tetap sederhana, saya telah mengalokasikan panjang string URL sebagai 1024 karakter, dan memeriksa batas panjang alamat email (menggunakan strlen) sebelum kami menggabungkannya (menggunakan strcat).
Kami memperlakukan string Otorisasi dengan kunci API yang digabungkan dengan cara yang sama .. meskipun kita tahu kunci API yang valid tidak akan pernah terlalu panjang .. itu tidak melindungi! Input pengguna yang berasal dari variabel lingkungan bisa jadi apa saja. Anda harus memprogram dengan defensif.
Seorang pengembang yang lebih canggih mungkin menggunakan malloc daripada alokasi variabel tumpukan, dan menghitung seberapa panjang string yang digabungkan perlu. Harus memikirkan tentang kompleksitas tambahan ini membuat saya merasa nyeri di dioda di sisi kiri saya; itu mengingatkan saya akan risiko yang dihadapi programmer C setiap hari, berusaha menghindari kelebihan buffer dan efek samping yang tidak terduga. Yang mengarah kita pada ..
Lua
Lua dikenal karena kemudahan koeksistensinya di samping kumpulan kode C, dan di sini di SparkPost, kami menggunakan Lua secara ekstensif untuk kustomisasi Kebijakan di dalam MTA Momentum lokal kami. Anda juga dapat menggunakannya sebagai bahasa skrip mandiri, dan itu juga cukup bagus untuk itu.
Dengan Lua 5.3 dan pengelola paket luarocks, kami menggunakan pustaka luasocket dan luasec. Menunjukkan warisan integrasi C-nya, kami terhubung ke pustaka OpenSSL lokal kami. Proses instalasi luarocks memanggil compiler gcc (atau compiler C yang Anda gunakan), jadi menambahkan pustaka baru memakan waktu.
Kode Lua cukup sederhana. Karakter — menandai komentar. Fungsi https.request menyediakan beberapa nilai kembalian (seperti Python dan Go). Penggabungan string dilakukan dengan operator .. (daripada + di Python).
Isi respons dari panggilan ini ditangani dengan modul ‘ltn12’ – lihat halaman wiki Lua tentang Filter, Sumber, dan Sink. Itu memungkinkan penanganan data yang dapat dikembalikan dalam beberapa “potongan”. Seperti yang dijelaskan artikel itu:
Pabrikan tabel membuat sink yang menyimpan semua data yang diperoleh ke dalam tabel. Data tersebut kemudian dapat secara efisien digabungkan menjadi satu string dengan fungsi pustaka table.concat.
Contoh kami hanya menggabungkan tabel t dan mencetaknya; Anda bisa menggunakan filter untuk melakukan pemrosesan lebih lanjut.
Lua dikenal karena kemudahan koeksistensinya di samping kumpulan kode C, dan di sini di SparkPost, kami menggunakan Lua secara ekstensif untuk kustomisasi Kebijakan di dalam MTA Momentum lokal kami. Anda juga dapat menggunakannya sebagai bahasa skrip mandiri, dan itu juga cukup bagus untuk itu.
Dengan Lua 5.3 dan pengelola paket luarocks, kami menggunakan pustaka luasocket dan luasec. Menunjukkan warisan integrasi C-nya, kami terhubung ke pustaka OpenSSL lokal kami. Proses instalasi luarocks memanggil compiler gcc (atau compiler C yang Anda gunakan), jadi menambahkan pustaka baru memakan waktu.
Kode Lua cukup sederhana. Karakter — menandai komentar. Fungsi https.request menyediakan beberapa nilai kembalian (seperti Python dan Go). Penggabungan string dilakukan dengan operator .. (daripada + di Python).
Isi respons dari panggilan ini ditangani dengan modul ‘ltn12’ – lihat halaman wiki Lua tentang Filter, Sumber, dan Sink. Itu memungkinkan penanganan data yang dapat dikembalikan dalam beberapa “potongan”. Seperti yang dijelaskan artikel itu:
Pabrikan tabel membuat sink yang menyimpan semua data yang diperoleh ke dalam tabel. Data tersebut kemudian dapat secara efisien digabungkan menjadi satu string dengan fungsi pustaka table.concat.
Contoh kami hanya menggabungkan tabel t dan mencetaknya; Anda bisa menggunakan filter untuk melakukan pemrosesan lebih lanjut.
Lua dikenal karena kemudahan koeksistensinya di samping kumpulan kode C, dan di sini di SparkPost, kami menggunakan Lua secara ekstensif untuk kustomisasi Kebijakan di dalam MTA Momentum lokal kami. Anda juga dapat menggunakannya sebagai bahasa skrip mandiri, dan itu juga cukup bagus untuk itu.
Dengan Lua 5.3 dan pengelola paket luarocks, kami menggunakan pustaka luasocket dan luasec. Menunjukkan warisan integrasi C-nya, kami terhubung ke pustaka OpenSSL lokal kami. Proses instalasi luarocks memanggil compiler gcc (atau compiler C yang Anda gunakan), jadi menambahkan pustaka baru memakan waktu.
Kode Lua cukup sederhana. Karakter — menandai komentar. Fungsi https.request menyediakan beberapa nilai kembalian (seperti Python dan Go). Penggabungan string dilakukan dengan operator .. (daripada + di Python).
Isi respons dari panggilan ini ditangani dengan modul ‘ltn12’ – lihat halaman wiki Lua tentang Filter, Sumber, dan Sink. Itu memungkinkan penanganan data yang dapat dikembalikan dalam beberapa “potongan”. Seperti yang dijelaskan artikel itu:
Pabrikan tabel membuat sink yang menyimpan semua data yang diperoleh ke dalam tabel. Data tersebut kemudian dapat secara efisien digabungkan menjadi satu string dengan fungsi pustaka table.concat.
Contoh kami hanya menggabungkan tabel t dan mencetaknya; Anda bisa menggunakan filter untuk melakukan pemrosesan lebih lanjut.
Mutiara
Sementara Perl terkenal dengan satu lininya, ini bukan salah satunya. Perl dirancang untuk pencarian dan modifikasi dokumen yang sangat cepat, tetapi sebenarnya mampu melakukan lebih banyak lagi. Saya pernah menulis seluruh suite kontrol Inventaris menggunakan Perl. Pikirkan itu. S e b a i k n y a…
Skrip ini memanfaatkan LWP::UserAgent dan HTTP::Request dan secara opsional paket JSON dan Data::Dumper tergantung pada bagaimana Anda ingin melihat keluaran. Seperti semua skrip lainnya di halaman ini, Anda harus mengatur variabel lingkungan SPARKPOST_API_KEY dengan kunci API yang dihasilkan yang mencakup fungsi Validasi Penerima. Skrip ini mengkodekan $recipient = ‘test@gmail.com’ tetapi Anda dapat dengan mudah menambahkan input baris perintah atau mengkonsumsi dari file.
Setelah semua variabel terisi, kami memuat HTTP:Request dengan parameter GET dan mengirimkannya ke LWP:UserAgent. “Pesan” yang dihasilkan adalah hasil dari tes validasi email sebagai array. Anda dapat menggunakan JSON dan DUMPER untuk menampilkan hasilnya atau hanya meneruskan array untuk pemrosesan lebih lanjut.
Sementara Perl terkenal dengan satu lininya, ini bukan salah satunya. Perl dirancang untuk pencarian dan modifikasi dokumen yang sangat cepat, tetapi sebenarnya mampu melakukan lebih banyak lagi. Saya pernah menulis seluruh suite kontrol Inventaris menggunakan Perl. Pikirkan itu. S e b a i k n y a…
Skrip ini memanfaatkan LWP::UserAgent dan HTTP::Request dan secara opsional paket JSON dan Data::Dumper tergantung pada bagaimana Anda ingin melihat keluaran. Seperti semua skrip lainnya di halaman ini, Anda harus mengatur variabel lingkungan SPARKPOST_API_KEY dengan kunci API yang dihasilkan yang mencakup fungsi Validasi Penerima. Skrip ini mengkodekan $recipient = ‘test@gmail.com’ tetapi Anda dapat dengan mudah menambahkan input baris perintah atau mengkonsumsi dari file.
Setelah semua variabel terisi, kami memuat HTTP:Request dengan parameter GET dan mengirimkannya ke LWP:UserAgent. “Pesan” yang dihasilkan adalah hasil dari tes validasi email sebagai array. Anda dapat menggunakan JSON dan DUMPER untuk menampilkan hasilnya atau hanya meneruskan array untuk pemrosesan lebih lanjut.
Sementara Perl terkenal dengan satu lininya, ini bukan salah satunya. Perl dirancang untuk pencarian dan modifikasi dokumen yang sangat cepat, tetapi sebenarnya mampu melakukan lebih banyak lagi. Saya pernah menulis seluruh suite kontrol Inventaris menggunakan Perl. Pikirkan itu. S e b a i k n y a…
Skrip ini memanfaatkan LWP::UserAgent dan HTTP::Request dan secara opsional paket JSON dan Data::Dumper tergantung pada bagaimana Anda ingin melihat keluaran. Seperti semua skrip lainnya di halaman ini, Anda harus mengatur variabel lingkungan SPARKPOST_API_KEY dengan kunci API yang dihasilkan yang mencakup fungsi Validasi Penerima. Skrip ini mengkodekan $recipient = ‘test@gmail.com’ tetapi Anda dapat dengan mudah menambahkan input baris perintah atau mengkonsumsi dari file.
Setelah semua variabel terisi, kami memuat HTTP:Request dengan parameter GET dan mengirimkannya ke LWP:UserAgent. “Pesan” yang dihasilkan adalah hasil dari tes validasi email sebagai array. Anda dapat menggunakan JSON dan DUMPER untuk menampilkan hasilnya atau hanya meneruskan array untuk pemrosesan lebih lanjut.
VB.net
Visual Basic tidak visual dan tidak dasar (menurut pendapat saya), tetapi ini adalah #6 di indeks bahasa TIOBE, jadi ayo kita mulai.
Ada cara lain untuk melakukan ini, tetapi jalur termudah menuju kesuksesan adalah dengan menggunakan SDK Visual Studio di platform Windows. Nyalakan Visual Studio, mulai proyek baru dan pilih Visual Basic, lalu pilih console.app. Pastikan untuk menggunakan versi VB bukan versi C# – ini mudah terlewat dalam SDK.

Pada titik ini Anda dapat mengedit baris secara manual atau menyalin/menempel kode dari sini ke VS dan menghemat banyak waktu. Untuk membuat kode ini berfungsi, Anda perlu menambahkan variabel lingkungan Windows. Cara termudah untuk melakukan ini adalah dengan membuka command prompt dan menggunakan setx.exe seperti ini:
C:\Users\me>setx SPARKPOST_API_KEY "142<redacted<redacted>c531c3"
Di Windows 10, ini diterapkan pada lingkungan pengguna Anda, tetapi tidak segera tersedia dalam sesi perintah saat ini, jadi mengujinya dengan “set” tidak akan berhasil, tetapi itu akan tersedia untuk kode. Jika Anda membangun dan menjalankan kode yang termasuk dalam repo, Anda akan melihat hasil validasi. Untuk pengembang yang membangun konsumen webhook produksi yang perlu memvalidasi alamat email dalam skala besar, panduan konsumen webhook Azure Functions kami menunjukkan cara membangun solusi tanpa server yang dapat menangani alur kerja validasi dengan efisien.
Visual Basic tidak visual dan tidak dasar (menurut pendapat saya), tetapi ini adalah #6 di indeks bahasa TIOBE, jadi ayo kita mulai.
Ada cara lain untuk melakukan ini, tetapi jalur termudah menuju kesuksesan adalah dengan menggunakan SDK Visual Studio di platform Windows. Nyalakan Visual Studio, mulai proyek baru dan pilih Visual Basic, lalu pilih console.app. Pastikan untuk menggunakan versi VB bukan versi C# – ini mudah terlewat dalam SDK.

Pada titik ini Anda dapat mengedit baris secara manual atau menyalin/menempel kode dari sini ke VS dan menghemat banyak waktu. Untuk membuat kode ini berfungsi, Anda perlu menambahkan variabel lingkungan Windows. Cara termudah untuk melakukan ini adalah dengan membuka command prompt dan menggunakan setx.exe seperti ini:
C:\Users\me>setx SPARKPOST_API_KEY "142<redacted<redacted>c531c3"
Di Windows 10, ini diterapkan pada lingkungan pengguna Anda, tetapi tidak segera tersedia dalam sesi perintah saat ini, jadi mengujinya dengan “set” tidak akan berhasil, tetapi itu akan tersedia untuk kode. Jika Anda membangun dan menjalankan kode yang termasuk dalam repo, Anda akan melihat hasil validasi. Untuk pengembang yang membangun konsumen webhook produksi yang perlu memvalidasi alamat email dalam skala besar, panduan konsumen webhook Azure Functions kami menunjukkan cara membangun solusi tanpa server yang dapat menangani alur kerja validasi dengan efisien.
Visual Basic tidak visual dan tidak dasar (menurut pendapat saya), tetapi ini adalah #6 di indeks bahasa TIOBE, jadi ayo kita mulai.
Ada cara lain untuk melakukan ini, tetapi jalur termudah menuju kesuksesan adalah dengan menggunakan SDK Visual Studio di platform Windows. Nyalakan Visual Studio, mulai proyek baru dan pilih Visual Basic, lalu pilih console.app. Pastikan untuk menggunakan versi VB bukan versi C# – ini mudah terlewat dalam SDK.

Pada titik ini Anda dapat mengedit baris secara manual atau menyalin/menempel kode dari sini ke VS dan menghemat banyak waktu. Untuk membuat kode ini berfungsi, Anda perlu menambahkan variabel lingkungan Windows. Cara termudah untuk melakukan ini adalah dengan membuka command prompt dan menggunakan setx.exe seperti ini:
C:\Users\me>setx SPARKPOST_API_KEY "142<redacted<redacted>c531c3"
Di Windows 10, ini diterapkan pada lingkungan pengguna Anda, tetapi tidak segera tersedia dalam sesi perintah saat ini, jadi mengujinya dengan “set” tidak akan berhasil, tetapi itu akan tersedia untuk kode. Jika Anda membangun dan menjalankan kode yang termasuk dalam repo, Anda akan melihat hasil validasi. Untuk pengembang yang membangun konsumen webhook produksi yang perlu memvalidasi alamat email dalam skala besar, panduan konsumen webhook Azure Functions kami menunjukkan cara membangun solusi tanpa server yang dapat menangani alur kerja validasi dengan efisien.
Karatan
Rust adalah bahasa untuk pemrograman sistem dan layanan web yang berfokus pada kinerja, keamanan, dan konkurensi. Seperti yang dikatakan Wikipedia, Rust telah menjadi “bahasa pemrograman yang paling dicintai” dalam Survei Pengembang Stack Overflow sejak 2016.
Kode Rust di repositori Github kami menggunakan pustaka reqwest dengan tokio async, mirip dengan contoh dalam Rust Cookbook. (Itu bukan salah ketik, nama pustaka reqwest dieja seperti itu). Kami telah menyertakan pengelola paket cargo file konfigurasi, sehingga Anda dapat membangun dan menjalankannya dengan:
cd rust_recipient_validation cargo run
Ini akan mengompilasi paket menjadi kode yang dapat dieksekusi, dan menjalankannya:
Finished dev [unoptimized + debuginfo] target(s) in 0.10s Running `target/debug/rust_recipient_validation` Status: 200 OK Body: : (etc)
Kode tersebut menggunakan std:env untuk membaca variabel lingkungan SPARKPOST_API_KEY. Sebuah klausul match menangani kasus di mana kunci tidak terdefinisi. Jika semua baik-baik saja, sebuah reqwest::Client baru dibuat dan panggilan async dikeluarkan, diikuti dengan .await? (lihat dokumentasi reqwest). Async, daripada panggilan blocking yang lebih sederhana, tampaknya diperlukan untuk mengatur header permintaan. Teks badan respons dibaca dengan .await? kedua, sesuai dengan contoh ini.
Rust adalah bahasa untuk pemrograman sistem dan layanan web yang berfokus pada kinerja, keamanan, dan konkurensi. Seperti yang dikatakan Wikipedia, Rust telah menjadi “bahasa pemrograman yang paling dicintai” dalam Survei Pengembang Stack Overflow sejak 2016.
Kode Rust di repositori Github kami menggunakan pustaka reqwest dengan tokio async, mirip dengan contoh dalam Rust Cookbook. (Itu bukan salah ketik, nama pustaka reqwest dieja seperti itu). Kami telah menyertakan pengelola paket cargo file konfigurasi, sehingga Anda dapat membangun dan menjalankannya dengan:
cd rust_recipient_validation cargo run
Ini akan mengompilasi paket menjadi kode yang dapat dieksekusi, dan menjalankannya:
Finished dev [unoptimized + debuginfo] target(s) in 0.10s Running `target/debug/rust_recipient_validation` Status: 200 OK Body: : (etc)
Kode tersebut menggunakan std:env untuk membaca variabel lingkungan SPARKPOST_API_KEY. Sebuah klausul match menangani kasus di mana kunci tidak terdefinisi. Jika semua baik-baik saja, sebuah reqwest::Client baru dibuat dan panggilan async dikeluarkan, diikuti dengan .await? (lihat dokumentasi reqwest). Async, daripada panggilan blocking yang lebih sederhana, tampaknya diperlukan untuk mengatur header permintaan. Teks badan respons dibaca dengan .await? kedua, sesuai dengan contoh ini.
Rust adalah bahasa untuk pemrograman sistem dan layanan web yang berfokus pada kinerja, keamanan, dan konkurensi. Seperti yang dikatakan Wikipedia, Rust telah menjadi “bahasa pemrograman yang paling dicintai” dalam Survei Pengembang Stack Overflow sejak 2016.
Kode Rust di repositori Github kami menggunakan pustaka reqwest dengan tokio async, mirip dengan contoh dalam Rust Cookbook. (Itu bukan salah ketik, nama pustaka reqwest dieja seperti itu). Kami telah menyertakan pengelola paket cargo file konfigurasi, sehingga Anda dapat membangun dan menjalankannya dengan:
cd rust_recipient_validation cargo run
Ini akan mengompilasi paket menjadi kode yang dapat dieksekusi, dan menjalankannya:
Finished dev [unoptimized + debuginfo] target(s) in 0.10s Running `target/debug/rust_recipient_validation` Status: 200 OK Body: : (etc)
Kode tersebut menggunakan std:env untuk membaca variabel lingkungan SPARKPOST_API_KEY. Sebuah klausul match menangani kasus di mana kunci tidak terdefinisi. Jika semua baik-baik saja, sebuah reqwest::Client baru dibuat dan panggilan async dikeluarkan, diikuti dengan .await? (lihat dokumentasi reqwest). Async, daripada panggilan blocking yang lebih sederhana, tampaknya diperlukan untuk mengatur header permintaan. Teks badan respons dibaca dengan .await? kedua, sesuai dengan contoh ini.
Ringkasan
Dalam artikel ini, kami telah menjelaskan contoh kode Validasi Penerima dalam banyak bahasa. Berikut permintaan kami kepada Anda.
Beritahu kami jika Anda merasa kami melewatkan bahasa favorit Anda. Kami mungkin tidak memiliki sebanyak contoh seperti Proyek Fibonacci, tetapi kami akan senang menambahkan beberapa lagi. Juga, jika Anda berpikir contoh kami bisa diperbaiki, beri tahu kami!
Dalam artikel ini, kami telah menjelaskan contoh kode Validasi Penerima dalam banyak bahasa. Berikut permintaan kami kepada Anda.
Beritahu kami jika Anda merasa kami melewatkan bahasa favorit Anda. Kami mungkin tidak memiliki sebanyak contoh seperti Proyek Fibonacci, tetapi kami akan senang menambahkan beberapa lagi. Juga, jika Anda berpikir contoh kami bisa diperbaiki, beri tahu kami!
Dalam artikel ini, kami telah menjelaskan contoh kode Validasi Penerima dalam banyak bahasa. Berikut permintaan kami kepada Anda.
Beritahu kami jika Anda merasa kami melewatkan bahasa favorit Anda. Kami mungkin tidak memiliki sebanyak contoh seperti Proyek Fibonacci, tetapi kami akan senang menambahkan beberapa lagi. Juga, jika Anda berpikir contoh kami bisa diperbaiki, beri tahu kami!



