> 백엔드 개발 > PHP 튜토리얼 > PHP는 로그인을 시뮬레이션하고 CURL을 통해 데이터를 가져옵니다.

PHP는 로그인을 시뮬레이션하고 CURL을 통해 데이터를 가져옵니다.

不言
풀어 주다: 2023-03-23 07:00:02
원래의
1631명이 탐색했습니다.


cURL은 강력한 PHP 라이브러리입니다. PHP의 cURL 라이브러리를 사용하면 간단하고 효과적으로 웹 페이지를 크롤링하고 콘텐츠를 수집할 수 있으며, 시뮬레이션된 로그인 웹 페이지를 완성하기 위해 쿠키를 설정할 수 있고, 컬은 다양한 기능을 제공하므로 개발자는 PHP를 사용할 수 있습니다. 매뉴얼의 cURL에 대해.




/*CURL을 통해 로그인을 시뮬레이션하고 데이터를 얻습니다
일부 웹사이트에는 권한 인증이 필요합니다. 웹페이지를 효과적으로 크롤링하고 콘텐츠를 수집하려면 먼저 웹사이트에 로그인해야 합니다. 이를 위해서는 컬이 필요합니다. 웹 페이지에 로그인하는 것을 시뮬레이션하도록 쿠키를 설정하십시오. PHP의 컬은 웹 콘텐츠를 가져오는 데 상대적으로 효율적이며 멀티스레딩을 지원하는 반면, file_get_contents()는 약간 덜 효율적입니다. 로그인을 시뮬레이션하는 코드는 다음과 같습니다.
*/
function login_post($url, $cookie, $post){
$ch = cur_init(); //curl 모듈 초기화
curl_setopt( $ ch, CURLOPT_URL, $url); //제출된 주소로 로그인
curl_setopt($ch, CURLOPT_HEADER, 0) //헤더 정보 표시 여부
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0); //자동인지 여부 반환된 정보를 표시합니다
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie); //쿠키 정보를 설정하고 지정된 폴더에 저장합니다
curl_setopt($ch, CURLOPT_POST, 1); /POST 방식으로 제출
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));//실행할 정보
curl_exec($ch) //CURL
curl_close($ch);
}
/*위 예제에서 선언된 login_post() 함수는 URL 주소, 쿠키 파일
및 게시물 데이터(사용자 이름 및 비밀번호 등)를 제공해야 합니다. 이 함수를 통해 로그인에 성공하면
로그인 성공 페이지 정보를 얻어야 합니다. 함수를 선언하는 코드는 다음과 같습니다.
*/
function get_content($url, $cookie){
$ch = cur_init(); //curl 모듈 초기화
curl_setopt($ ch, CURLOPT_URL , $url); //로그인하여 제출한 주소
curl_setopt($ch, CURLOPT_HEADER, 0) //헤더 정보 표시 여부
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //반환된 정보를 자동으로 표시할지 여부
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);//쿠키 정보를 설정하고 지정된 폴더에 저장
$rs =curl_exec($ch) //Execute 페이지 콘텐츠 전송을 위한 컬
컬_close($ch);
return $rs; //문자열 반환
}
/*
get_content() 다음이 저장한 쿠키 정보를 읽으려면 curlopt_cookiefile을 사용하세요. login
마지막으로 페이지 콘텐츠 반환에 대해 이야기하겠습니다. 우리의 목적은 시뮬레이션된 로그인 후 정보, 즉
일반적인 로그인 성공 후에만 얻을 수 있는 유용한 정보입니다.
* /
$post = 배열(
'_username' => 'g@ydma.cn',
'_password' => '123456',
'_submit' => '로그인'
);
$url = "http://www.ydma.cn/login/check"; //로그인 주소는 원래 사이트와 동일합니다
$cookie = dirname(__FILE__).'/cookie_ydma.txt'; 저장되는 쿠키 경로
$url2 = "http://www.ydma.cn/course/59"; //로그인 후 정보를 얻을 수 있는 주소

login_post($url, $cookie, $ post); // 시뮬레이션된 로그인 호출
$content = get_content($url2, $cookie); //로그인 후 get_content() 함수를 호출하여 로그인 후 지정된 페이지 정보를 가져옵니다

@unlik ($cookie); //쿠키 파일 삭제
file_put_contents('save.txt', $content); //캡처된 페이지 내용 저장

관련 권장사항:

특수 기호 매개변수를 가져오는 PHP 메소드 예를 들어 URL의 #


위 내용은 PHP는 로그인을 시뮬레이션하고 CURL을 통해 데이터를 가져옵니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿