🔥 วันนี้แอดขอชี้เป้าเครื่องมือที่ช่วยทดสอบ API นั่นก็คือ Thunder Client ซึ่งจะช่วยให้เราสามารถทดสอบ API ได้ง่ายๆ ผ่าน Visual Studio Code
.
🌈 Thunder Client เป็น GUI-based Rest Api HTTPS client คล้ายกับ Postman เลย ใช้งานง่ายมากๆ โดยมีฟีเจอร์พื้นฐานให้ใช้งานดังนี้
.
✅ ส่ง Http/Https โดยใช้ Methods GET, POST, PUT, DELETE, PATCH, HEAD และ OPTIONS.
✅ มี Tabs History, Collections และ Environment เพื่อให้สะดวกต่อการใช้งาน
✅ รองรับ Basic Auth, Bearer Token และ OAuth 2.0
✅ ส่ง Body ในรูปแบบ Text, Json, Xml, Form Data, Files และ Form-Url-Encoded
✅ มี GUI ที่เข้าใจง่าย ไม่ต้องมีความรู้ในการเขียน Script ก็สามารถใช้งานได้
.
⚡ วิธีการติดตั้งก็ง่ายแสนง่าย เพียงแค่ เปิด VSCode ขึ้นมา คลิกที่ Extention ค้นหาคำว่า “Thunder Client” แล้วคลิก install ได้เลย เมื่อติดตั้งเสร็จแล้วก็จะมีไอคอนของเจ้า Thunder Client อยู่บน side bar
.
⚡ วิธีการใช้งานเพียงแค่คลิกที่ New Request -> ใส่ Web API ที่ต้องการทดสอบ -> เลือก method -> คลิก send รอดูผลลัพธ์ก็เป็นอันเสร็จเรียบร้อย เห็นมั้ยง่ายมากกกกก !!
.
💥 ส่วนใครอยากศึกษาเพิ่มเติมเกี่ยวกับเจ้า Thunder Client สามารถกดลิงค์นี้ได้เลย >> https://github.com/rangav/thunder-client-support
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอที่ในทุกวัน
同時也有9部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,VBA到Python程式開發2020第9次上課(executemany大量寫入資料庫&requests直接下載資料) 01_重點回顧與executemany大量寫入資料庫 02_executemany寫法修改細節說明 03_安裝request套件說明 04_用requests直接下載資料 05_根...
「http request json」的推薦目錄:
http request json 在 BorntoDev Facebook 的最佳解答
✅🧑💻 ทุกวันนี้การติดต่อกันผ่านอินเทอร์เน็ตนั้นกลายเป็นเรื่องธรรมดาๆของหลายๆระบบ และสิ่งหนึ่งที่ทุกคนพูดถึงกันก็คือ API
.
ที่เป็นเหมือนประตูเชื่อมต่อระบบหรือโปรแกรมต่างๆเข้าด้วยกันได้อย่างง่ายดาย
.
😧 แต่ว่าก็ยังมีอีกหนึ่งสิ่งที่ช่วยในการติดต่อรับส่งข้อมูลก็คือ Webhook ที่เข้ามาเป็นตัวเลือกในงานที่ API ไม่ตอบโจทย์
.
ซึ่งในบทความนี้เราจะมาทำความรู้จักกันว่า Webhook คืออะไร และทำงานยังไง ?
👉 เอาแบบง่ายๆ Webhook ก็คือการใช้งาน API แบบสลับข้างกัน โดยปกติเวลามี “ผู้ให้บริการ” สักรายเปิด API ให้ใช้งาน เวลา “ผู้ใช้” ต้องการข้อมูลต่างๆก็จะส่ง request ไปที่ url ดังกล่าวจึงจะได้รับข้อมูลกลับมา
.
แต่พอมาเป็น Webhook แล้วเนี่ย “ผู้ให้บริการ” จะไม่ได้มี url ใดๆมาให้เรา แต่กลับกัน “ผู้ใช้” อย่างเราๆกลับต้องมี url หรือก็คือ API ของเราเองนี่แหละส่งไปให้ผู้ให้บริการแทน
👨🏻💻 แล้ว Webhook จะมีประโยชน์ยังไงล่ะ ?
.
ลองคิดตามว่าถ้ามีผู้ให้บริการสักรายหนึ่ง สมมติว่าเป็นธนาคารแล้วกัน ทางธนาคารนั้นมี API เพื่อให้บริการกับใครก็ตามที่ต้องการติดต่อรับข้อมูลต่างๆก็ทำได้สะดวก จะดึงประวัติธุรกรรมรายวัน รายเดือน ก็ทำได้ผ่าน API ทั้งหมด
.
แต่ว่าถ้าเกิดเราอยากจะทำระบบแจ้งเตือนเมื่อมีธุรกรรมใหม่เกิดขึ้นล่ะ ถ้าเราใช้งานผ่าน API เราจะทำยังไง ?
วิธีที่ต้องทำก็คือ request ไปยัง API นั้นรัวๆ ยิ่งถี่เท่าไหร่ก็หมายความว่าจะได้รับแจ้งเตือนเร็วเท่านั้น ซึ่งมันเป็นวิธีเดียวที่จะได้ผ่าน API เมื่อเราต้องการข้อมูลแบบ “real-time” มากที่สุด
.
⚠️ ซึ่งเอาจริงๆมันก็ไม่ real-time อยู่ดี แล้วฝั่งผู้ให้บริการอย่างธนาคารก็ต้องเจอกับ request มหาศาลตลอดเวลาโดยที่ข้อมูลส่วนใหญ่ไม่มีอะไรเปลี่ยนแปลง ผู้ใช้งานก็ต้องคอยส่ง request ตลอดเวลาเช่นกัน ซึ่งมันเป็นสิ่งที่ไม่เกิดประโยชน์กับใครเลย
.
❤️ ดังนั้น Webhook เลยเกิดมาเพื่อทำงานนี้แทน API แทนที่จะให้ผู้ใช้ส่ง request ไปหาเรื่อยๆเพราะไม่รู้ว่าเมื่อไหร่จะมีข้อมูลหรือเหตุการณ์ที่ต้องการเกิดขึ้น ก็เปลี่ยนเป็นพอมีข้อมูลหรือเหตุการณ์บางอย่างเกิดขึ้น
.
ผู้ให้บริการก็ค่อยไปสะกิดเรียกผู้ใช้แทน เท่านี้ก็ได้ประโยชน์กันทั้งสองฝ่าย ได้ข้อมูลแบบ “real-time” อย่างแท้จริง
🚸 Webhook ทำงานยังไง?
.
อย่างที่บอกไปแล้วว่า Webhook จะเป็นการที่ผู้ให้บริการมา “สะกิด” เรียกผู้ใช้งาน ขยายความอีกหน่อยนึงก็คือ Webhook เป็นการใช้งาน API รูปแบบหนึ่งนี่แหละ ที่จะผู้ให้บริการ จะส่งข้อมูลมาให้เมื่อเกิด “เหตุการณ์” (Event) ที่ผู้ใช้ต้องการ
.
เมื่อคนเริ่มเป็นฝั่งผู้ให้บริการก็หมายความว่าข้อมูลจะถูกส่งผ่าน Webhook แบบ real-time เลยนั่นเอง โดยส่วนมากจะส่งผ่าน HTTP POST และข้อมูลจะอยู่ในรูปแบบ JSON หรืออาจจะมีบ้างที่เป็น XML ขึ้นอยู่กับผู้ให้บริการแต่ละราย
จะใช้งาน Webhook ต้องทำอะไรบ้าง ?
.
✅ อย่างแรกเลยต้องดูว่าผู้ให้บริการที่เราจะติดต่อด้วยเค้าให้บริการ Webhook อยู่รึเปล่า (ก็แน่ล่ะถ้าไม่ให้บริการเราจะไปใช้ได้เหรอ ?)
.
✅ ถ้ามีการให้บริการ Webhook แล้ว ต่อมาก็คือไปไล่หาดูว่าเค้ามี “Event” อะไรบ้างที่ส่ง Webhook มาให้เราได้ เลือกหาอันที่เราต้องการซะ
.
✅ อ่านคู่มือหรืออะไรก็ตามที่ทางผู้ให้บริการบอกเอาไว้ว่าจะส่งข้อมูลให้เราในรูปแบบไหน อย่างเช่น ส่งข้อมูลในรูปแบบ JSON เราก็ต้องดูว่า JSON หน้าตาเป็นแบบไหน แล้วตอนส่งส่งมาเป็น POST หรือ GET ก็ต้องอ่านดูให้ชัดเจน
.
✅ สร้าง server ของเราเองและเตรียม API ให้พร้อมรับข้อมูลจากผู้ให้บริการ โดยจะต้องมี public url เตรียมให้ผู้ให้บริการส่งข้อมูลมาให้เรา
.
✅ เตรียมพร้อมหมดแล้ว ก็ส่ง url ของเราไปให้ผู้ให้บริการตามช่องทางที่มีไว้ให้ แล้วก็รอ Event Webhook ทำงานเป็นอันเสร็จเรียบร้อย
.
❓ สรุปแล้ว Webhook น่าใช้มั้ย ?
.
หลังจากรู้จักกับ Webhook มาบ้างแล้ว ก็น่าจะเห็นถึงประโยชน์ของมัน รู้ว่า Webhook คืออะไร ทำงานยังไงกันมาบ้างแล้ว
.
สำหรับคนที่ไม่คุ้นเคยกับ API หรือยังไม่เคยใช้งานบริการอะไรแนวๆนี้ก็อาจจะยังสับสนอยู่บ้างว่า สรุปแล้ว Webhook มันดีรึเปล่าต้องใช้แทน API มั้ย ? มาทำความเข้าใจครั้งสุดท้ายกัน แค่นี้เองแหละหลักการคร่าวๆว่าจะเลือกใช้อะไรตอนไหนดี
✅ API เอาไว้ใช้กรณีที่เราต้องการข้อมูลตอนที่ “เราต้องการ”
.
✅ Webhook เอาไว้ในกรณีที่เราต้องการข้อมูลตอนที่ “มีเหตุการณ์”
.
อ้อยังมีอีกเรื่องที่ต้องระวังหรือวางแผนตอนจะใช้งาน Webhook ก็คือเรื่องความปลอดภัย เช่นเดียวกับ API ทั่วไปที่บางครั้งก็ต้องมีการยืนยันตัวตนคนที่จะใช้งานได้ ในด้าน API ที่ server ของเราก็อาจจะต้องจำกัดให้มีเฉพาะผู้ให้บริการ Webhook เท่านั้นถึงจะมาใช้งานได้
.
ก็ต้องไปศึกษาวิธีทำให้ปลอดภัยกันเพิ่มเติมดู เช่น อาจจะใช้ token หรือทำ Basic Auth ก็ว่ากันไป
อาจจะดูเหมือนว่าการใช้งาน Webhook จะมีอะไรให้คิดให้ทำอยู่หลายอย่าง ดังนั้นวิธีที่ดีที่สุดในการหัดใช้ Webhook ก็คือการลงมือลองทำจริงๆนั่นเอง
.
ลองหาเครื่องมือง่ายๆไว้จำลองเป็น server ของเราก็ได้อย่างเช่น https://webhook.site/ หรือ https://ngrok.com/ ก็ทำให้เรามี public url ไว้ทดสอบกับ Webhook แล้ว ขอให้สนุกกับ Webhook ครับ
.
#borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
http request json 在 BorntoDev Facebook 的最讚貼文
🔐 ก่อนจะมารู้จักกับ JWT เรามาดูการยืนยันตัวตนแบบเก่ากันก่อน โดยแบบเก่าจะต้องส่งผ่าน HTTP protocal ไปที่ server แล้วนำไป query ใน database เพื่อนำข้อมูลมาเทียบกัน
.
และเนื่องจากเจ้า HTTP protocal เนี่ยเป็น stateless ซึ่งมันจะไม่จดจำข้อมูลการส่งเอาไว้ดังนั้นเมื่อจะทำงานอะไรเลยต้องแนบข้อมูลไว้ให้มันผ่าน cookie ด้วย เพื่อให้รู้ว่าคนที่ request นี้เป็นใคร ทำให้ต้องมีการ query เพิ่มเติมใน database ในทุกๆ request
.
หากต้องการเพิ่ม server ก็จะเกิดปัญหา เนื่องจาก server ตัวใหม่ก็ต้องมี session ID ที่เหมือนตัวเก่าแต่ทว่า database มันไม่ sync กันทำให้จัดการได้ยาก และเนื่องจากต้องส่งข้อมูลผ่าน cookie ถ้าส่งข้อมูลข้าม Domain ก็ทำไม่ได้อีก
.
นอกจากนี้การส่ง Session ID ในทุกๆครั้งก็อาจส่งผลกระทบด้านความปลอดภัยได้ 👻
.
📦 JWT ย่อมาจาก JSON Web Token เป็นstandardที่มาแก้ปัญหาด้านการส่งข้อมูล โดยโครงสร้างของมันประกอบด้วย3ส่วนคือ
.
Header : เก็บประเภท token และวิธีการเข้ารหัส
Payload : เก็บข้อมูลที่ใช้
Signature : เป็นส่วนที่เอาไว้ยืนยันว่า token นี้เป็นของจริงมาจากเว็บเราจริงๆ
.
📬 การใช้งานก็สามารถพ่วงไปกับ HTTP request ผ่าน Header ได้เลยเมื่อส่งไปถึงมือ server แล้ว ตัว server ก็จะต้องเช็ค Signature เพื่อยันยันว่าเป็นของจริงหรือไม่ ต่อไปก็จะทำการ decode ตัว payload เพื่อนำข้อมูลไปใช้
.
เนื่องจาก JWT สามารถเก็บข้อมูลเองได้ จึงเป็นการลดขั้นตอนการทำงานไม่ต้องQuery ข้อมูลเพิ่มเติม และไม่ต้องเก็บ session ID ไว้ใน server อีกด้วย เพราะ browser จะเก็บข้อมูล JWT เพื่อส่งกลับให้ server ผ่าน browser เพื่อยืนยันตัวตน
.
🎯 สรุปแล้วเจ้า JWT สามารถใช้ได้กับทุกงานที่รองรับการส่งข้อมูลแบบ JSON และมีการส่งข้อมูลแบบ HTTP protocal โดยที่เราสามารถใช้การทำงานกับระบบที่มีหลาย server หรือการติดต่อข้าม domain ได้ง่ายกว่า
.
แต่ก็มีข้อควรระวังคือ Payload นั้นไม่ควรเก็บข้อมูลที่เป็นความลับเด็ดขาดเนื่องจากยังสามารถ decode ออกมาดูได้อยู่ และ token นั้นแก้ไขไม่ได้ ต้องสร้างใหม่อย่างเดียวจึงควรตั้งเวลาหมดอายุได้ด้วย
.
สำหรับใครที่อยากลองเล่น มาได้ที่นี่เลย https://jwt.io/
.
#BorntoDev - 🦖 Coding Academy ให้การพัฒนาเทคโนโลยีเป็นเรื่องง่ายสำหรับทุกคน
http request json 在 吳老師教學部落格 Youtube 的最佳貼文
VBA到Python程式開發2020第9次上課(executemany大量寫入資料庫&requests直接下載資料)
01_重點回顧與executemany大量寫入資料庫
02_executemany寫法修改細節說明
03_安裝request套件說明
04_用requests直接下載資料
05_根據換行與逗點切割資料
06_將資料寫入資料庫與改用executemany
07_下載PM25的JSON格式說明
08_下載JSON格式與切割資料
09_json轉存為CSV檔與下次預告
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/tcfst_python_2020_1
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 109/4/8
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境

http request json 在 吳老師教學部落格 Youtube 的最讚貼文
VBA到Python程式開發2020第9次上課(executemany大量寫入資料庫&requests直接下載資料)
01_重點回顧與executemany大量寫入資料庫
02_executemany寫法修改細節說明
03_安裝request套件說明
04_用requests直接下載資料
05_根據換行與逗點切割資料
06_將資料寫入資料庫與改用executemany
07_下載PM25的JSON格式說明
08_下載JSON格式與切割資料
09_json轉存為CSV檔與下次預告
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/tcfst_python_2020_1
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 109/4/8
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境

http request json 在 吳老師教學部落格 Youtube 的最讚貼文
VBA到Python程式開發2020第9次上課(executemany大量寫入資料庫&requests直接下載資料)
01_重點回顧與executemany大量寫入資料庫
02_executemany寫法修改細節說明
03_安裝request套件說明
04_用requests直接下載資料
05_根據換行與逗點切割資料
06_將資料寫入資料庫與改用executemany
07_下載PM25的JSON格式說明
08_下載JSON格式與切割資料
09_json轉存為CSV檔與下次預告
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/tcfst_python_2020_1
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰 出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 109/4/8
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
