PHP c URL 빠 른 입문

2571 단어 PHP
cURL URL 문법 규정 을 이용 하여 파일 과 데 이 터 를 전송 하 는 도구 로 HTTP,FTP,TELNET 등 많은 프로 토 콜 을 지원 합 니 다.더욱 기 쁜 것 은 PHP 도 c URL 라 이브 러 리 를 지원 한 다 는 점 이다.본 고 는 PHP 에서 그것 을 어떻게 활용 하 는 지 를 소개 할 것 이다.
기본 구조
PHP 에서 cURL 요청 을 만 드 는 기본 절 차 를 살 펴 보 겠 습 니 다.
1.초기 화
2.변수 설정
3.실행 및 결과 가 져 오기
4.cURL 핸들 해제
  // 1.    
  $ch = curl_init();
  // 2.     ,  URL
  curl_setopt($ch, CURLOPT_URL, “http://www.nettuts.com”);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);
  // 3.      HTML    
  $output = curl_exec($ch);
  // 4.   curl  
  curl_close($ch);

두 번 째 단계(즉 curlsetopt()가 가장 중요 합 니 다.URL 요청 의 세부 사항 을 지정 할 수 있 는 긴 cURL 매개 변 수 를 설정 할 수 있 습 니 다.한꺼번에 다 보고 이해 하 는 것 은 어 려 울 수 있 으 므 로 오늘 은 자주 사용 하 는 것 도 더 유용 한 옵션 만 시도 해 보 자.
검사 오류
잘못된 문 구 를 검사 할 수 있 습 니 다.(필요 한 것 은 아니 지만)
// …
 $output = curl_exec($ch);
 if ($output === FALSE) {
 echo “cURL Error: ” . curl_error($ch);
 }
 // …

주의 하 세 요.비교 할 때 우 리 는'==FALSE'를 사용 합 니 다.'=FALSE'가 아 닙 니 다.빈 출력 과 불 값 FALSE 를 구분 해 야 하기 때문에 후 자 는 진정한 잘못 이다.
POST 방법 으로 데 이 터 를 보내다
GET 요청 을 할 때 데 이 터 는'쿼 리 문자열'(query string)을 통 해 URL 에 전달 할 수 있 습 니 다.예 를 들 어 구 글 에서 검색 할 때 검색 의 관건 은 URL 의 검색 문자열 의 일부분 입 니 다.
http://www.google.com/search?q=nettuts
이 경우 c URL 로 시 뮬 레이 션 할 필요 가 없 을 수도 있 습 니 다.이 URL 을"file"에 게 던 져 주세요.get_contents()'는 같은 결 과 를 얻 을 수 있다.
하지만 일부 HTML 폼 은 POST 방법 으로 제출 되 었 다.이 폼 을 제출 할 때 데 이 터 는 문자열 을 조회 하 는 것 이 아니 라 HTTP 요청 체(request body)를 통 해 보 냅 니 다.예 를 들 어 CodeIgniter 포럼 의 폼 을 사용 하면 어떤 키 워드 를 입력 하 든 POST 에서 다음 페이지 로 이동 합 니 다.
http://codeigniter.com/forums/do_search/
이 URL 요청 을 PHP 스 크 립 트 로 모 의 할 수 있 습 니 다.우선,POST 데 이 터 를 받 아들 이 고 표시 할 수 있 는 파일 을 새로 만 듭 니 다.post 라 고 명명 합 니 다.output.php:
print_r($_POST);

다음은 c URL 요청 을 수행 하기 위해 PHP 스 크 립 트 를 작성 합 니 다
$url = “http://localhost/post_output.php”;
 $post_data = array (
 “foo” => “bar”,
 “query” => “Nettuts”,
 “action” => “Submit”
 );
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 //    POST   !
 curl_setopt($ch, CURLOPT_POST, 1);
 //  post     
 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
 $output = curl_exec($ch);
 curl_close($ch);
 echo $output;
이 스 크 립 트 는 post 에 POST 요청 을 보 냅 니 다.output.php,이 페이지$POST 변 수 를 되 돌려 줍 니 다.우 리 는 cURL 을 이용 하여 이 출력 을 캡 처 했 습 니 다.
작은 매듭
오늘 우 리 는 함께 c URL 라 이브 러 리 를 배 웠 다.마음 에 드 셨 으 면 좋 겠 습 니 다.다음 URL 요청 을 하려 면 cURL 을 고려 해 보 세 요!

좋은 웹페이지 즐겨찾기