รู้จัก cURL และวิธีใช้งาน เพื่อให้คุณสามารถสร้าง API ที่ดีขึ้นได้รวดเร็วขึ้น ()

.
รู้จัก cURL และวิธีใช้งาน เพื่อให้คุณสามารถสร้าง API ที่ดีขึ้นได้รวดเร็วขึ้น

รู้จัก cURL และวิธีใช้งาน เพื่อให้คุณสามารถสร้าง API ที่ดีขึ้นได้รวดเร็วขึ้น

ปรับปรุงล่าสุด 28 ก.พ. 2568, 02:11   181 ครั้ง

cURL คืออะไร วิธีดึงรายละเอียดและทำระบบแชร์เว็บไซต์


cURL ย่อมาจากคำว่า Client for URLs เป็นคำสั่ง command line ที่ถูกเพิ่มเข้ามาในภาษา PHP ตั้งแต่เวอร์ชั่น 4.0.2 เป็นต้นมา จุดประสงค์หลักของคำสั่ง cURL ที่ถูกเพิ่มเข้ามาในภาษา PHP ก็เพื่อให้นักพัฒนาสามารถเขียนคำสั่งเพื่อติดต่อสื่อสารกับ Server ( Window, Linux ) และ Prototal ( http,https,ftp ) ที่มีความแตกต่างกัน

 

ขั้นตอนการทำงานหลักของคำสั่ง cURL

  • 1. เริ่มต้นสร้าง curl resource ด้วยฟังก์ชัน curl_init()

  • 2. กำหนด option ให้ curl resource ด้วยฟังก์ชัน curl_setopt() ตัวอย่างเช่น

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, 0); // curl resource ตามด้วยชื่อ option และ value
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  • 3. สั่งเริ่มการทำงาน Execute curl resource ด้วยฟังก์ชัน curl_exec()

  • 4. หลังจากได้ข้อมูลแล้วสั่งปิดการทำงานด้วยฟังก์ชัน curl_close()

โดยหลัก ๆ แล้วขั้นตอนการทำงานก็จะมีเท่านี้ จะเยอะหน่อยคือการกำหนด option ให้กับ curl resource ก่อนทำการ execute ซึ่งก็ขึ้นอยู่กับเงื่อนไขในการใช้งานของแต่ละงาน ข้อมูลจะถูกรีเทิร์นกลับมาหลังจากคำสั่ง execute
 

 

ตัวอย่างการใช้ cURL ในการดึงข้อมูลเว็บไซต์ทำระบบแชร์

เราสามารถใช้คำสั่ง cURL ในการดึงข้อมูลของเว็บไซต์เช่น title,description,image เราจะได้ข้อมูลคล้าย ๆ กับที่เวลาเราแชร์ลิงค์ใน facebook timeline โดยสามารถเขียนคำสั่งได้ดังนี้

function file_get_contents_curl($url) // ฟังก์ชั่นเริ่มต้น กำหนดค่า และสั่งทำงาน curl
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

    $data = curl_exec($ch);
    curl_close($ch);

    return $data;
}

$html = file_get_contents_curl("https://www.domain.com"); //โหลดข้อมูล html จากเว็บไซต์ทั่วไป
$doc = new DOMDocument();
@$doc->loadHTML($html); // ข้อมูลที่ได้จะเป็น html ใช้คำสั่ง loadHTML เพื่อแปลงให้อยู่ในรูปแบบ xml

 

จากโค๊ดด้านบนเราได้ใช้คำสั่ง cURL

เพื่อดึงหน้าเว็บไซต์ทั้งหน้ามาแสดง ถ้าเราลอง echo $html จะเห็นว่าไฟล์นี้ได้ดึงหน้าเว็บไซต์มาเหมือน copy มาเลย แต่จุดประสงค์ของเราคือต้องการเอาข้อมูลบางส่วนบนหน้าเว็บไซต์เท่านั้น จึงจัดการกับข้อมูลที่เป็น html ให้อยู่ในรูปแบบไฟล์เอกสาร xml เพื่อจะเข้าถึงข้อมูล tag ต่าง ๆ ในหน้าเว็บไซต์ได้ง่ายขึ้น

หากไม่มีอะไรผิดพลาดและเราสามารถโหลดข้อมูลจากเว็บไซต์นั้น ๆ ได้ เราก็จะสามารถเข้าถึง tag ต่าง ๆ ในเว็บไซต์นั้นได้ผ่านคำสั่งของคลาส DOMDocument ได้ โดยสามารถเขียนคำสั่งได้ดังนี้

$nodes = $doc->getElementsByTagName('title');
$title = $nodes->item(0)->nodeValue;
$metas = $doc->getElementsByTagName('meta');
for ($i = 0; $i < $metas->length; $i++)
{
    $meta = $metas->item($i);
    if($meta->getAttribute('name') == 'description')
        $description = $meta->getAttribute('content');
    if($meta->getAttribute('name') == 'keywords')
        $keywords = $meta->getAttribute('content');
}
echo "Title: $title". '

';
echo "Description: $description". '

';
echo "Keywords: $keywords";

 

หลังจากได้ข้อมูลทั้ง title, description, image, keyword เราก็สามารถนำไปทำระบบแชร์ได้ไม่ต่างจากการแชร์ลิงค์ในไทม์ไลน์ของเฟสบุ้คแล้วครับ
สามารถดูข้อมูล option ทั้งหมดของคำสั่ง cURL ได้ที่เว็บไซต์ http://php.net/manual/en/ref.curl.php

 


โปรแกรมที่ใช้งานร่วมกัน สร้าง_API ร่วมกัน

นักพัฒนากว่า 17 ล้านคนใช้ postman เริ่มต้นด้วยการลงทะเบียนหรือดาวน์โหลดแอปเดสก์ท็อป

  • https://www.postman.com/
  • https://www.postman.com/product/tools/
  • https://learning.postman.com/docs/writing-scripts/intro-to-scripts/

 

What is Postman?

Postman เป็นแพลตฟอร์ม API สำหรับสร้างและใช้งาน API บุรุษไปรษณีย์ช่วยลดความยุ่งยากในแต่ละขั้นตอนของวงจรชีวิต API และเพิ่มความคล่องตัวในการทำงานร่วมกัน เพื่อให้คุณสามารถสร้าง API ที่ดีขึ้นได้รวดเร็วขึ้น 

ข้อตกลงสิทธิ์การใช้งานสำหรับผู้ใช้ปลายทาง

1. บทนำ

ข้อกำหนดในการให้บริการสำหรับผู้ใช้เหล่านี้ ("ข้อกำหนด") อยู่ระหว่างคุณ ("คุณ") และ Postman, Inc. ("บุรุษไปรษณีย์" หรือ "เรา") และควบคุมการใช้ซอฟต์แวร์และบริการบุรุษไปรษณีย์ทุกเวอร์ชัน รวมถึง Postman API และการแสดงตัวอย่างรุ่นเบต้า (รวมเรียกว่า "บริการ") และเว็บไซต์บุรุษไปรษณีย์ ซึ่งรวมถึงแต่ไม่จำกัดเพียง www.postman.com, blog.postman.com, learning.postman.com, community.postman.com และ store.getpostman .com ("เว็บไซต์")

2. ข้อตกลงผูกพัน

โดยการดาวน์โหลด ติดตั้ง หรือใช้บริการบนระบบคอมพิวเตอร์ใดๆ หรือโดยการยอมรับข้อกำหนดเหล่านี้ (ไม่ว่าจะโดยการคลิกช่องที่ระบุว่าคุณยอมรับข้อกำหนดเหล่านี้ หรือโดยการดำเนินการเอกสารการสั่งซื้อ ("คำสั่งซื้อ") ที่อ้างอิงถึงข้อกำหนดเหล่านี้) คุณรับทราบ และตกลงว่าคุณได้อ่าน เข้าใจ และตกลงที่จะผูกพันตามข้อกำหนดเหล่านี้และนโยบายความเป็นส่วนตัวของเรา

บุรุษไปรษณีย์ขอสงวนสิทธิ์ในการแก้ไขข้อกำหนดเหล่านี้ตามที่เห็นสมควร หากบุรุษไปรษณีย์ทำการเปลี่ยนแปลงเนื้อหาในข้อกำหนดเหล่านี้ บุรุษไปรษณีย์อาจแจ้งให้คุณทราบทางอีเมลหรือโพสต์ประกาศบนwww.postman.com หากคุณไม่ตกลงหรือไม่สามารถปฏิบัติตามข้อกำหนดที่แก้ไขได้ คุณต้องหยุดใช้บริการและเว็บไซต์ ข้อกำหนดที่ได้รับการปรับปรุงจะมีผลบังคับใช้เมื่อมีการโพสต์และจะมีผลบังคับใช้ในอนาคต เว้นแต่จะระบุไว้เป็นอย่างอื่นในการแจ้งให้คุณทราบ การใช้บริการและเว็บไซต์อย่างต่อเนื่องของคุณหลังจากการอัพเดตใด ๆ ถือว่าคุณยอมรับการเปลี่ยนแปลงดังกล่าว ยกเว้นตามที่กำหนดไว้ในย่อหน้านี้ การแก้ไขหรือแก้ไขบทบัญญัติใด ๆ ของข้อกำหนดเหล่านี้จะมีผลบังคับใช้เว้นแต่เป็นลายลักษณ์อักษรและลงนามโดยฝ่ายที่จะยืนยันการแก้ไขหรือแก้ไข

หากคุณยอมรับข้อกำหนดเหล่านี้ ไม่ใช่ในฐานะบุคคลธรรมดา แต่ในนามของบริษัท รัฐบาล หรือหน่วยงานอื่นๆ ที่คุณดำเนินการอยู่ (เช่น ในฐานะพนักงานหรือเจ้าหน้าที่ของรัฐ) "คุณ" หมายถึงหน่วยงานของคุณและคุณมีผลผูกพัน ตัวตนของคุณต่อข้อกำหนดเหล่านี้ หากคุณไม่มีอำนาจดังกล่าว หรือถ้าคุณไม่เห็นด้วยกับข้อกำหนดเหล่านี้ โปรดอย่ายอมรับข้อกำหนดเหล่านี้และอย่าใช้บริการ

บริการไม่ได้มีไว้สำหรับและไม่ควรใช้โดยผู้ใดก็ตามที่มีอายุต่ำกว่า 13 ปี และเราไม่อนุญาตผู้ใช้ที่อายุต่ำกว่า 13 ปีในบริการของเรา คำว่า "ผู้ใช้" หมายถึงบุคคลใดก็ตามที่ใช้บริการ (ตามที่กำหนดไว้ในส่วนที่ 3 ด้านล่าง) คุณต้องตรวจสอบให้แน่ใจว่าผู้ใช้ทั้งหมดของคุณมีอายุอย่างน้อย 13 ปี หากเราทราบเกี่ยวกับผู้ใช้ที่มีอายุต่ำกว่า 13 ปี เราจะยุติบัญชีผู้ใช้นั้นทันที หากคุณอาศัยอยู่ในประเทศนอกสหรัฐอเมริกา อายุขั้นต่ำของประเทศของคุณอาจเก่ากว่า ในกรณีนั้น คุณต้องรับผิดชอบในการปฏิบัติตามกฎหมายในประเทศของคุณ

คุณไม่สามารถใช้บริการที่เป็นการละเมิดกฎหมายควบคุมการส่งออกหรือคว่ำบาตรของสหรัฐอเมริกาหรือเขตอำนาจศาลอื่นใดที่เกี่ยวข้อง คุณไม่สามารถใช้บริการได้หากคุณเป็นหรือทำงานในนามของSpecially Designated National (SDN)หรือบุคคลที่อยู่ภายใต้การห้ามหรือปฏิเสธปาร์ตี้ที่คล้ายคลึงกันซึ่งบริหารงานโดยหน่วยงานรัฐบาลสหรัฐฯ

 

3. การใช้บริการ

3.1 สิทธิ์ในการใช้

ภายใต้การปฏิบัติตามข้อกำหนดเหล่านี้และการชำระค่าธรรมเนียมที่เกี่ยวข้อง บุรุษไปรษณีย์ให้สิทธิ์แก่คุณในการเพิกถอน ไม่จำกัดเฉพาะ ไม่สามารถโอนสิทธิ์ให้ช่วง และจำกัดสิทธิ์ในการใช้บริการ* บนพื้นฐานการสมัครรับข้อมูลในแบบฟอร์มรหัสที่ปฏิบัติการได้ ตามข้อกำหนดเหล่านี้ ข้อกำหนด ยกเว้นสิทธิ์แบบจำกัดที่กำหนดไว้อย่างชัดแจ้งในข้อกำหนดเหล่านี้ บุรุษไปรษณีย์ไม่ให้สิทธิ์หรือสิทธิ์อื่นใดแก่คุณในบริการ สิทธิ์ของคุณจะสิ้นสุดลงเมื่อข้อกำหนดเหล่านี้สิ้นสุดลง แม้ว่าจะมีข้อกำหนดที่ขัดแย้งกันซึ่งระบุไว้ที่อื่นในข้อกำหนดเหล่านี้หรือในเอกสารอื่น ๆ ที่บุรุษไปรษณีย์และคุณทำขึ้น

*ใช้ ใช้หรือใช้วิธีการโดยตรงหรือโดยอ้อมเพื่อเปิดใช้งานความสามารถในการประมวลผลของบริการ โหลด ดำเนินการ เข้าถึง ใช้ จัดเก็บ ใช้บริการ หรือแสดงข้อมูลที่เกิดจากความสามารถดังกล่าว รวมถึงการอัปโหลดเนื้อหาใด ๆ ** หรือการสร้างหรือ สร้างเนื้อหาใด ๆ โดยใช้ความสามารถของบริการ

**เนื้อหาหมายถึงเนื้อหาที่แสดงหรือแสดงผ่านบริการ (รวมถึงผ่านทางเว็บไซต์) รวมถึงแต่ไม่จำกัดเพียงรหัส ข้อความ ข้อมูล บทความ ภาพ รูปถ่าย กราฟิก ซอฟต์แวร์ แอปพลิเคชั่น แพ็คเกจ การออกแบบ คุณสมบัติ และวัสดุอื่น ๆ ที่ มีอยู่บนเว็บไซต์หรือผ่านทางบริการอื่นๆ "เนื้อหาที่ผู้ใช้สร้างขึ้น" คือเนื้อหา ทั้งที่เป็นลายลักษณ์อักษรหรืออย่างอื่นที่ผู้ใช้อัปโหลดหรือสร้างขึ้นโดยการใช้บริการ "เนื้อหาของคุณ" คือเนื้อหาที่ผู้ใช้สร้างขึ้นซึ่งคุณหรือผู้ใช้ของคุณส่งไปยังบริการ

บริการนี้รวมถึงโค้ดและไลบรารีบางส่วนที่อนุญาตให้เราโดยบุคคลที่สาม รวมถึงซอฟต์แวร์โอเพนซอร์ส ("OSS") ตามที่ระบุไว้ในpostman.com/legal/third-partyพร้อมด้วยใบอนุญาต OSS ที่เกี่ยวข้อง สิทธิ์ของคุณในการใช้ OSS ดังกล่าวจะอยู่ภายใต้ข้อตกลงสิทธิ์การใช้งาน OSS ที่บังคับใช้แทนข้อกำหนดเหล่านี้

 

3.2 บัญชีบุรุษไปรษณีย์

บริการอนุญาตให้ผู้ใช้สร้างบัญชีบุคคลธรรมดา ("บัญชี") ข้อมูลที่คุณให้กับเราเมื่อคุณสร้างบัญชีจะต้องถูกต้อง สมบูรณ์และเป็นปัจจุบัน คุณมีหน้าที่ต้องรักษาข้อมูลบัญชีของคุณให้ถูกต้อง สมบูรณ์ และเป็นปัจจุบันตลอดเวลา หากข้อมูลใด ๆ ที่คุณส่งให้เราเปลี่ยนแปลง คุณต้องอัปเดตข้อมูลดังกล่าวทันที

ณ เวลาใดก็ตาม บัญชีของผู้ใช้รายเดียวสามารถเข้าสู่ระบบคอมพิวเตอร์ได้สูงสุดสาม (3) ระบบเท่านั้น

คุณต้องรักษาข้อมูลรับรองการเข้าถึงบัญชีของคุณให้ปลอดภัย คุณต้องรับผิดชอบต่อการดำเนินการทั้งหมดผ่านบัญชีของคุณ คุณต้องแจ้งให้บุรุษไปรษณีย์ทราบทันทีและแก้ไขข้อมูลรับรองการเข้าสู่ระบบบัญชีของคุณหรือข้อมูลของผู้ใช้ที่ได้รับอนุญาต หากข้อมูลรับรองการเข้าสู่ระบบดังกล่าวถูกบุกรุกและ/หรือนำไปใช้ในทางที่ผิด/มีแนวโน้มว่าจะถูกนำไปใช้ในทางที่ผิดโดยบุคคลที่สามเพื่อเข้าถึงบริการผ่านบัญชีของคุณอย่างไม่เหมาะสม

 

3.3 ทีมบุรุษไปรษณีย์

บริการบุรุษไปรษณีย์ทุกเวอร์ชันอาจสนับสนุนการทำงานร่วมกันเป็นทีม

ผู้ใช้ที่จะรับผิดชอบในการจัดตั้งและการจัดการทีมของคุณจะถูกเรียกว่าเป็นผู้ดูแลระบบ เมื่อผู้ใช้ที่เป็นผู้ดูแลระบบของคุณสร้างบัญชีของคุณแล้ว พวกเขาสามารถเชิญผู้ใช้รายอื่นให้ใช้บริการผ่านคุณสมบัติ "เชิญ" ในบัญชีได้ ผู้ใช้ที่เป็นผู้ดูแลระบบจะต้องระบุชื่อ ที่อยู่อีเมล และข้อมูลอื่นๆ ที่จำเป็นสำหรับบุรุษไปรษณีย์สำหรับผู้ใช้แต่ละราย

ผู้ใช้ที่เป็นผู้ดูแลระบบจะได้รับสิทธิ์ในการกำหนดผู้ใช้ที่เป็นผู้ดูแลระบบมากกว่าหนึ่งราย ตามการกำหนดดังกล่าว ผู้ใช้ที่เป็นผู้ดูแลระบบใหม่แต่ละคนจะสามารถทำทุกอย่างที่ผู้ใช้ที่เป็นผู้ดูแลระบบรายอื่นได้รับอนุญาตให้ทำโดยบริการและข้อกำหนดเหล่านี้

บุรุษไปรษณีย์จะเรียกเก็บค่าธรรมเนียมสำหรับผู้ใช้แต่ละรายที่คุณต้องการให้ความสามารถในการใช้บริการในนามของคุณ คุณต้องไม่อนุญาตให้ใช้รูปแบบการแบ่งปันเวลาใดๆ อนุญาตให้บุคคลมากกว่าหนึ่งคนใช้ข้อมูลรับรองการเข้าสู่ระบบบุรุษไปรษณีย์เดียวกัน หรือการจัดการอื่นใดที่ข้ามหรือเอาชนะการควบคุมระบบของบุรุษไปรษณีย์ที่ออกแบบมาเพื่อบังคับใช้การจำกัดขนาดทีม ภายใต้ข้อกำหนดในที่นี้ ผู้ดูแลระบบของคุณสามารถเพิ่มหรือลบผู้ใช้ออกจากบัญชีของคุณโดยทำตามคำแนะนำที่เกี่ยวข้องที่กำหนดไว้ในเอกสารเผยแพร่มาตรฐานของบุรุษไปรษณีย์สำหรับบริการ หากคุณซื้อการสมัครรับข้อมูลของผู้ใช้เกินจำนวน คุณอาจถูกเรียกเก็บค่าธรรมเนียมเพิ่มเติม รวมทั้งตามที่กำหนดไว้ในนโยบาย Auto-Flex ของ เรา ....

https://learning.postman.com/docs/getting-started/introduction/


 

This collection does not use any authorization. Learn more about authorization

https://web.postman.co/

ลิงค์ที่เกี่ยวข้อง:
API ช่วยลดความยุ่งยาก เพิ่มความคล่องตัวในการทำงานร่วมกัน