เวลาเขียนเวปเขียนโปรแกรม ไม่รู้ทำไมเวลาใช้งานแล้วจะต้องเรียก API ที่อื่นแล้วที่ตรงนั้นไม่ได้จด DNS ไว้ เรามีแค่ IP Address กับ Domain ที่จะต้องใช้ วิธีที่เราจะทำได้คือการ map host
หลังๆ มานี่ผมไม่นิยมกับการ map host แล้ว เพราะมันผูกติดกับ server แล้วเวลาจะยก code เราไปทำงานที่อื่นถ้าไม่ได้เอาพวกที่ map host ไว้มาด้วย โปรแกรมเราก็จะทำงานไม่ได้ คราวนี้จะทำยังไง?
ให้เราใช้วิธีการระบุ Header ลงไปเวลา call API อ่ะครับ อย่างเช่นใน
ถ้าใช้โปรแกรม curl บน bash shell
[shell]
curl -H "Host: engineerball.com" http://122.155.16.11
[/shell]
ถ้าใช้ php กับ curl
[php]
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://122.155.16.155");
curl_setopt($ch, CURLOPT_HTTPHEADER, array(‘Host: engineerball.com));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$c = curl_exec($ch);
?>[/php]
เพียงเท่านี้ก็สามารถเรียก API แบบไม่ต้อง map host ได้แล้วครับผม