¸î¸îÀÇ XML-RPC ¼¹ö´Â ³»Àå ¸Þ½îµå¸¦ Á¦°øÇϰí ÀÖ´Ù. ±×°ÍÀº XML-RPC ÀÚüÀÇ ºÎºÐÀº ¾Æ´Ï°í Á÷Á¢ ¸¸µé¾î Ãß°¡ÇÑ °ÍÀÌ´Ù.
Edd Dumbill´Â ´ÙÀ½°ú °°Àº ¸Þ½îµå¸¦ Á¦¾ÈÇß´Ù.:
array system.listMethods () string system.methodHelp (string methodName) array system.methodSignature (string methodName) |
¸¸¾à ¼¹ö°¡ À§ÀÇ ¸Þ½îµå¸¦ Áö¿øÇÑ´Ù¸é »ç¿ëÀÚ´Â ±×°ÍÀ» ÁúÀÇÇÏ°í °á°ú¸¦ Ãâ·ÂÇÒ ¼ö ÀÖ´Ù.
import xmlrpclib server = xmlrpclib.Server("http://xmlrpc-c.sourceforge.net/api/sample.php") for method in server.system.listMethods(): print method print server.system.methodHelp(method) print |
À§ÀÇ ¸Þ½îµåµéÀº ÇöÀç ¼¹ö»ó(http://xmlrpc-c.sourceforge.net)¿¡¼ PHP, C ±×¸®°í Microsoft .NETÀÇ ÇüÅ·ΠÁ¦°øµÇ°í ÀÖ´Ù. ÃÖ±Ù¿¡ UserLand Frontier°¡ ºÎºÐÀûÀ¸·Î introspectionÀ» Áö¿øÇϵµ·Ï ¾÷µ¥ÀÌÆ® µÇ¾ú´Ù. Perl, Python°ú JavaÀÇ Introspection Áö¿ø¿¡ ´ëÇØ¼´Â XML-RPC Hacks ÆäÀÌÁö¸¦ Âü°íÇ϶ó. ´Ù¸¥ XML-RPC ¼¹ö¿¡¼µµ ¸¶À½´ë·Î introspectionÀ» Áö¿øÇصµ ÁÁ´Ù(±ÇÀåÇÑ´Ù)!
´Ù¾çÇÑ Å¬¶óÀÌ¾ðÆ® Åø(¹®¼ »ý¼º±â, ·¡ÆÛ »ý¼º±â µîµî)µµ XML-RPC Hacks ÆäÀÌÁö¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
¸¸¾à ÀÛÀº ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ·çƾÀ» ¸¹ÀÌ °¡Áö´Â XML-RPC Ŭ¶óÀÌ¾ðÆ®¸¦ ¸¸µç´Ù¸é, ÀÎÅÍ³Ý backbone latency¸¦ ÀÌ¿ëÇÏ¿© ÁúÀÇ/ÀÀ´äÀÇ ¿Õº¹ ½Ã°£À» ÁÙÀÌ´Â ¹æ¹ýÀ» ãÀ» ¼ö ÀÖ´Ù. ¸î¸îÀÇ ¼¹ö´Â ´ÙÀ½ÀÇ ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ´Ù¼öÀÇ ÁúÀǸ¦ Çϳª·Î ¹¾î º¸³¾ ¼ö ÀÖµµ·Ï ÇÑ´Ù:
array system.multicall (array calls) |
»ó¼¼ÇÑ Á¤º¸´Â system.multicall RFC¿¡¼ ãÀ» ¼ö ÀÖ´Ù.
ÀÌ ¸Þ½îµå´Â ÇöÀç C¿Í UserLand Frontier·Î ÀÛ¼ºµÈ ¼¹öµéÀÌ Áö¿øÇϰí ÀÖ´Ù. Python°ú Perl·Î ÀÛ¼ºµÈ ¼¹ö´Â XML-RPC Hacks ÆäÀÌÁö¿¡ ÀÖ´Â Äڵ带 »ç¿ëÇÒ ¼ö ÀÖ´Ù.