메뉴 건너뛰기

Dev tips

PHP file_get_content 사용하기 GET, POST

taknim 2009.08.26 01:50 조회 수 : 10659 추천:2666

http://kr2.php.net/manual/en/function.stream-context-create.phphttp://url 에 있는 내용을 가져오기 위해 여러가지 방법이 있겠지만
PHP에서는 file_get_content 함수를 사용해 쉽게 가져올 수가 있다.

아래와 같이 실행 하면 $content 에 http://url 을 호출해서 불러온 내용들을 바로 가져올수가 있다.
<?
$content = file_get_contents("http://url");
?>

물론 파라미터 전송을 할때는 ?aaa=bbb&ccc=ddd 와 같이 문자열을 구성해 url 에 붙이면 된다.
<?
$content = file_get_contents("http://url?aaa=bbb&ccc=ddd ");
?>

자~ 이제 여기서 문제가 하나 생기게 된다.
위와 같이 확인을 해보면 GET 으로만 사용이 가능하다는걸 알 수 있다.
그럼 POST 는? 그리고 프로토콜이 http 가 아니라 https 이면?

https 부터 말하자면 url 에서 http를 https 로 바꾸면 된다.
자~ 그럼 POST 는 어떻게 해야할까? 물론 방법이 있다.
아래와 같이 option 을 지정해놓고 사용해보자.

<?
$data = array ('foo' => 'bar', 'bar' => 'baz'); // post 로 받을 데이터들
$data = http_build_query($data); // url_encode 를 한 후 파라미터 구성을 해준다.

// http 통신 option을 지정한다. https 라고 해서 http 키값을 https 로 변경하지 말것.(주소에 https 라고 쓰기만 하면 된다.)
// http 배열 키 설명
// method 는 get, post 중 하나
// header 은 상황에 맞게 바꿔주면 된다.
// content 는 보낼 파라미터나 데이터를 구성
$context_options = array (
        'http' => array (
            'method' => 'POST',
            'header'=> "Content-type: application/x-www-form-urlencoded\r\n"
                . "Content-Length: " . strlen($data) . "\r\n",
            'content' => $data
            )
        );

$context = context_create_stream($context_options);
$content = file_get_contents("http://url", false, $context);
?>
번호 제목 글쓴이 날짜 조회 수
334 새 창에 form을 post로 전송하기 taknim 2009.09.16 10522
333 PHP 에서 MySQL 바인딩 구현 taknim 2009.09.12 9150
» file_get_content 사용하기 GET, POST taknim 2009.08.26 10659
331 [mysql] mysqlbinlog 실행시 캐릭터셋(utf8) 오류 taknim 2009.08.25 15773
330 커피 만드는 방법 taknim 2009.08.17 6538
329 [mysql] 동적 쿼리 생성시 변수를 대입하거나 값을 받아오기 taknim 2009.08.17 17210
328 [MSSQL] sp_who2 를 대신할 sql 코드 file taknim 2009.08.13 10949
327 [HTML] euc-kr and CP949 file taknim 2009.08.13 11681
326 [PHP] 소켓 통신할때 패킷이 길어서 받지 못 할 때 해결 방법 taknim 2009.08.08 8646
325 vsftp 계정별로 폴더 제한, 권한 옵션 설명 taknim 2009.08.01 10833
324 ssh 특정 계정 제한하기 taknim 2009.08.01 11824
323 [MSSQL] 변수를 TABLE로 선언 후 데이터 입력 taknim 2009.07.30 11712
322 WOL 관련한 사이트 (매직패킷 전송) file taknim 2009.07.22 11768
321 [ORACLE] Flashback (과거시점에서 질의실행) taknim 2009.07.06 10158
320 [Oracle] DBNEWID Utility - DBNAME,DBID변경하기 taknim 2009.07.06 15576
319 리눅스 콘솔 단축키 taknim 2009.07.06 21956
318 bash 팁1 - 단축키, 환경변수 taknim 2009.07.06 12225
317 명령 프롬프트 창이 보이지 않는 배치 파일 실행하기 taknim 2009.07.04 12863
316 [Oracle] INSERT … ON DUPLICATE KEY UPDATE taknim 2009.06.25 13908
315 알아두면 유용한 윈도우의 환경 변수들 taknim 2009.06.25 8725