HttpRequest

 

HttpRequest ÇÔ¼ö´Â ÁöÁ¤µÈ URL·Î HTTP ¿äûÀ» º¸³»°í ÀÀ´äÀ» ¹ÝȯÇÑ´Ù.

 

ÁÖÀÇ) »ó´ë ¼­¹ö ÀÀ´ä Áö¿¬À¸·Î, °¨½ÃÇÁ·Î±×·¥ÀÌ ÃÖ´ë 30Ãʰ£ ´ë±â»óÅ·ΠÀ¯ÁöµÉ ¼ö ÀÖ´Ù.

À̸¦ ¹æÁöÇÏ·Á¸é, °¨½Ã ½ÇÇà Áß °è¼Ó ½ºÅ©¸³Æ®ÀÇ "½º·¹µå »ç¿ë" ±â´ÉÀ» ÀÌ¿ëÇÏ¿© ¿äû Ç÷¡±×(flag)°¡ ON µÉ ¶§ HttpRequest ÇÔ¼ö°¡ ½ÇÇàµÇµµ·Ï ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇϵµ·Ï ÇÑ´Ù.

 

string @HttpRequest(string method, string url, string data, string headerId);

 

ÇÔ¼öÀÎÀÚ

string method : HTTP ¸Þ¼­µå (GET, POST, PUT, PATCH, DELETE)

string url : ¿äû URL

string data : ¿äû º»¹® µ¥ÀÌÅÍ (GET, DELETE´Â ¹«½ÃµÊ)

string headerId : »ç¿ëÇÒ Çì´õ Ä÷º¼ÇÀÇ ½Äº°ÀÚ

 

¹Ýȯ °ª

¼º°ø ½Ã ÀÀ´ä º»¹®

½ÇÆÐ ½Ã ºó ¹®ÀÚ¿­

 

¿¹Á¦ 1)

// GET ¿äû ¿¹Á¦

string method = "GET";

string url = "https://api.example.com/data";

string data = ""; // GET¿¡¼­´Â ¹«½ÃµÊ

string headerId = "myHeader";

string response = @HttpRequest(method, url, data, headerId);

 

¿¹Á¦ 2)

// POST ¿äû ¿¹Á¦

method = "POST";

url = "https://api.example.com/users";

data = @JsonToString(buf);      // buf ¿¹Á¦ °ª : "{\"name\":\"È«±æµ¿\",\"email\":\"hong@example.com\"}";

response = @HttpRequest(method, url, data, headerId);

 

¿¹Á¦ 3)

// PUT ¿äû ¿¹Á¦

method = "PUT";

url = "https://api.example.com/users/123";

data = @JsonToString(buf);      // buf ¿¹Á¦ °ª : "{\"name\":\"±èö¼ö\"}";

response = @HttpRequest(method, url, data, headerId);

 

¿¹Á¦ 4 (ÅëÇÕ »ç¿ë ¿¹Á¦)

// Çì´õ »ý¼º

string headerId = "apiHeader";

@HttpCreateHeader(headerId);

 

// Çì´õ Ãß°¡

@HttpAddHeader(headerId, "Content-Type", "application/json");

@HttpAddHeader(headerId, "Accept", "application/json");

@HttpAddHeader(headerId, "User-Agent", "AutoBase/1.0");

 

// ¶Ç´Â Çì´õ ÆÄÀÏ¿¡¼­ ±¸¼º ·Îµå

@HttpLoadHeaderConfig(headerId, "common_api");

 

// API ¿äû ¼öÇà

string data = @JsonToString(buf);      // buf ¿¹Á¦ °ª : "{\"query\":\"»ç¿ëÀÚ µ¥ÀÌÅÍ\"}"

string response = @HttpRequest("POST", "https://api.example.com/data", data, headerId);

if( response != "") @Message("¼º°øÀûÀ¸·Î µ¥ÀÌÅ͸¦ ¹Þ¾Ò½À´Ï´Ù.");

else @Message("¿äû¿¡ ½ÇÆÐÇß½À´Ï´Ù.");

 

// »ç¿ë ÈÄ Çì´õ Á¦°Å

@HttpRemoveHeader(headerId);

 

¿¹Á¦ 5)

@HttpCreateHeader("header1");

@HttpLoadHeaderConfig("header1","api1");

data = @JsonTemplateLoad("test");

url = "http://192.168.1.2:5000/obj";

buf = @HttpRequest("POST",url, data, "header1");

@ObjectSetText("Text1", buf);

 

¿¹Á¦ 6 (³×À̹ö API ¼îÇÎ °Ë»ö)

@HttpCreateHeader("header1");
@HttpAddHeader("header1","X-Naver-Client-Id","TestClientId12345");     //³×À̹ö API ID ÀÔ·Â
@HttpAddHeader("header1","X-Naver-Client-Secret","TestClientSecret");  //³×À̹ö API ºñ¹Ð¹øÈ£ ÀÔ·Â

url = "https://openapi.naver.com/v1/search/shop.json?query=Autobase&display=1&start=1&sort=sim";  //Autobase °Ë»ö
responseString = @HttpRequest("GET", url, "", "header1");    //httpMethod, url, data, header ¼ø
@ObjectSetText("Text1", responseString);   //Àüü ÀÀ´ä

buf1 = @StringJson(responseString, "$.items[0].link"); //ù¹øÂ° Á¦Ç° ¸µÅ©¸¸ ÃßÃâ.
@ObjectSetText("Text2", buf1);

 

¹öÀüÁ¤º¸

ÃÖÃÊÁö¿ø: 10.3.6.25

 

°ü·Ã Ç׸ñ)

HttpCreateHeader

HttpAddHeader

HttpRemoveHeader

HttpLoadHeaderConfig

HttpRequest