정상적인 웹의 프로세스는

client의 요청에 의해 server가 처리후에 응답값을 client에게 주게 된다.

여기에서 말하는 client는 브라우져를 이용하는 사용자를 말한다.

 

하지만 경우에 따라서 server에서 server로 http 접속후 응답값을 가져와야 되는 경우가 있다.

HTTP 방식의 API 구현이거나 웹페이지를 긁어서 보여주고자 할 경우가 해당된다.

이럴때 PHP에서 HTTP 접속을 통해 응답값을 가져오는 방법이다.

$url = "https://sample.url";
$param = array("param1" => "param1 value", "param2" => "param2 value", "param3" => "param3 value");
$options = array(
  "http" => array(
    "header" => "Content-type: application/x-www-form-urlencoded\r\n",
    "method" => "POST",
    "content" => http_build_query($param)
  )
);
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result) {
  echo $result;
} else {
  echo "http connection fail.";
}

 

* https, http 접속과 상관없이 options 부분에는 http 키값을 사용해야 된다.

* method 부분을 원하는 값으로 설정할 수 있다. (GET, POST)

* header 값을 변경해서 www-form이 아닌 xml, json 방식으로도 변경 가능하다.

 

 

참고 : https://cnpnote.tistory.com/entry/PHP%EB%A1%9C-POST-%EC%9A%94%EC%B2%AD%EC%9D%84-%EB%B3%B4%EB%82%B4%EB%A0%A4%EB%A9%B4-%EC%96%B4%EB%96%BB%EA%B2%8C%ED%95%B4%EC%95%BC%ED%95%A9%EB%8B%88%EA%B9%8C

'Asp-Php' 카테고리의 다른 글

php 외부 암호화 모듈 사용  (0) 2020.02.12
asp calendar 모듈  (1) 2010.04.09
asp base64 decoding, encoding (한글처리)  (2) 2010.04.09