php 스누피 사용법: 1. [fetch($URI)] 웹 페이지의 콘텐츠를 캡처합니다. 2. [fetchtext($URI)] HTML 태그 및 기타 관련 없는 데이터를 제거합니다. ] 웹 페이지의 양식 내용을 반환합니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 5.6, DELL G3 컴퓨터.
php snoopy 사용법:
Snoopy 클래스 메소드 및 예:
1, fetch($URI)
fetch($URI)
这是为了抓取网页的内容而使用的方法。
$URI参数是被抓取网页的URL地址。
抓取的结果被存储在 $this->results 中。
如果你正在抓取的是一个框架,Snoopy将会将每个框架追踪后存入数组中,然后存入 $this->results。
2、fetchtext($URI)
本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中的文字内容。
3、fetchform($URI)
本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中表单内容(form)。
4、fetchlinks($URI)
本方法类似于fetch(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。
默认情况下,相对链接将自动补全,转换成完整的URL。
5、submit($URI,$formvars)
本方法向$URL指定的链接地址发送确认表单。$formvars是一个存储表单参数的数组。
6、submittext($URI,$formvars)
本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回登陆后网页中的文字内容。
7、submitlinks($URI)
本方法类似于submit(),唯一不同的就是本方法会去除HTML标签和其他的无关数据,只返回网页中链接(link)。
默认情况下,相对链接将自动补全,转换成完整的URL。
Snoopy采集类属性: (默认值在括号里)
$host 连接的主机
$port 连接的端口
$proxy_host 使用的代理主机,如果有的话
$proxy_port 使用的代理主机端口,如果有的话
$agent 用户代理伪装 (Snoopy v0.1)
$referer 来路信息,如果有的话
$cookies cookies 如果有的话
$rawheaders 其他的头信息, 如果有的话
$maxredirs 最大重定向次数, 0=不允许 (5)
$offsiteok whether or not to allow redirects off-site. (true)
$expandlinks 是否将链接都补全为完整地址 (true)
$user 认证用户名, 如果有的话
$pass 认证用户名, 如果有的话
$accept http 接受类型 (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)
$error 哪里报错, 如果有的话
$response_code 从服务器返回的响应代码
$headers 从服务器返回的头信息
$maxlength 最长返回数据长度
$read_timeout 读取操作超时 (requires PHP 4 Beta 4+) 设置为0为没有超时
$timed_out 如果一次读取操作超时了,本属性返回 true (requires PHP 4 Beta 4+)
$maxframes 允许追踪的框架最大数量
$status 抓取的http的状态
$temp_dir 网页服务器能够写入的临时文件目录 (/tmp)
$curl_path cURL binary 的目录, 如果没有cURL binary就设置为 false
下面是一个示例:
代码如下:
include "Snoopy.class.php"; $snoopy = new Snoopy; $snoopy->proxy_host = "https://www.jb51.net"; $snoopy->proxy_port = "80"; $snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; $snoopy->referer = "https://www.jb51.net"; $snoopy->cookies["SessionID"] = 238472834723489l; $snoopy->cookies["favoriteColor"] = "RED"; $snoopy->rawheaders["Pragma"] = "no-cache"; $snoopy->maxredirs = 2; $snoopy->offsiteok = false; $snoopy->expandlinks = false; $snoopy->user = "joe"; $snoopy->pass = "bloe"; if($snoopy->fetchtext("https://www.jb51.net")) { echo "<PRE>".htmlspecialchars($snoopy->results)."\n"; } else echo "error fetching document: ".$snoopy->error."\n";
获取指定url内容
代码如下:
<?php $url = "https://www.jb51.net"; include("snoopy.php"); $snoopy = new Snoopy; $snoopy->fetch($url); //获取所有内容 echo $snoopy->results; //显示结果 //可选以下 $snoopy->fetchtext //获取文本内容(去掉html代码) $snoopy->fetchlinks //获取链接 $snoopy->fetchform //获取表单 ?>
表单提交
代码如下:
<?php $formvars["username"] = "admin"; $formvars["pwd"] = "admin"; $action = "https://www.jb51.net";//</a>表单提交地址 $snoopy->submit($action,$formvars);//$formvars为提交的数组 echo $snoopy->results; //获取表单提交后的 返回的结果 //可选以下 $snoopy->submittext; //提交后只返回 去除html的 文本 $snoopy->submitlinks;//提交后只返回 链接 ?>
既然已经提交的表单 那就可以做很多事情 接下来我们来伪装ip,伪装浏览器
伪装浏览器
代码如下:
<?php $formvars["username"] = "lanfengye"; $formvars["pwd"] = "lanfengye"; $action = "https://www.jb51.net"; include "snoopy.php"; $snoopy = new Snoopy; $snoopy->cookies["PHPSESSID"] = 'fc106b1918bd522cc863f36890e6fff7'; //伪装sessionid $snoopy->agent = "(compatible; MSIE 4.01; MSN 2.5; AOL 4.0; Windows 98)"; //伪装浏览器 $snoopy->referer = "https://www.jb51.net"; //伪装来源页地址 http_referer $snoopy->rawheaders["Pragma"] = "no-cache"; //cache 的http头信息 $snoopy->rawheaders["X_FORWARDED_FOR"] = "127.0.0.101"; //伪装ip $snoopy->submit($action,$formvars); echo $snoopy->results; ?>
原来我们可以伪装session 伪装浏览器 ,伪装ip, haha 可以做很多事情了。
例如:带验证码,验证ip 投票, 可以不停的投。
ps:这里伪装ip ,其实是伪装http头, 所以一般的通过 REMOTE_ADDR
프레임을 스크랩하는 경우 스누피는 각 프레임을 추적하여 배열에 저장한 다음 $this->result에 저장합니다.
2.fetchtext($URI)
이 메서드는 fetch()와 유사합니다. 유일한 차이점은 이 메서드는 HTML 태그 및 기타 관련 없는 데이터를 제거하고 텍스트 내용만 반환한다는 것입니다. 웹페이지. 4.3.
fetchform($URI)
이 메서드는 fetch()와 유사합니다. 유일한 차이점은 이 메서드가 HTML 태그 및 기타 관련 없는 데이터를 제거하고 양식 콘텐츠( 형태 ).
fetchlinks($URI)
🎜🎜이 메서드는 fetch()와 유사하지만 유일한 차이점은 이 메서드는 HTML 태그 및 기타 관련 없는 데이터를 제거하고 웹의 링크만 반환한다는 것입니다. 페이지. 🎜🎜기본적으로 상대 링크는 자동으로 완성되어 완전한 URL로 변환됩니다. 🎜🎜5. submit($URI,$formvars)
🎜🎜이 메소드는 $URL에 지정된 링크 주소로 확인 양식을 보냅니다. $formvars는 양식 매개변수를 저장하는 배열입니다. 🎜🎜6. submittext($URI,$formvars)
🎜🎜이 메서드는 submit()과 유사하지만 유일한 차이점은 이 메서드가 HTML 태그 및 기타 관련 없는 데이터만 반환한다는 것입니다. 로그인 웹페이지의 텍스트 콘텐츠입니다. 🎜🎜7. submitlinks($URI)
🎜🎜이 방법은 submit()과 유사하지만 유일한 차이점은 이 방법은 HTML 태그 및 기타 관련 없는 데이터를 제거하고 웹의 링크만 반환한다는 것입니다. 페이지. 🎜🎜기본적으로 상대 링크는 자동으로 완성되어 완전한 URL로 변환됩니다. 🎜🎜🎜Snoopy 컬렉션 클래스 속성: (기본값은 대괄호 안에 있음)🎜🎜🎜🎜$host 연결된 호스트 🎜🎜$port 연결된 포트 🎜🎜$proxy_host 사용된 프록시 호스트(있는 경우) 🎜🎜$proxy_port 사용된 프록시 호스트 포트 , 있는 경우 🎜🎜$agent 사용자 에이전트 위장(Snoopy v0.1) 🎜🎜$referer 소스 정보(있는 경우) 🎜🎜$cookies 쿠키(있는 경우) 🎜🎜$rawheaders 기타 헤더 정보(있는 경우) 🎜🎜$maxredirs 최대 수 리디렉션, 0=허용되지 않음 (5)🎜🎜$offsiteok 오프사이트 리디렉션을 허용할지 여부(true)🎜🎜$expandlinks 전체 주소에 대한 모든 링크를 완료할지 여부(true)🎜🎜$user 인증 사용자 이름, if any 🎜🎜$pass 인증 사용자 이름(있는 경우) 🎜🎜$accept http 허용 유형(image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*)🎜🎜$error 오류가 보고되는 위치 , if any🎜🎜$response_code 서버에서 반환된 응답 코드🎜🎜$headers 서버에서 반환된 헤더 정보🎜🎜$maxlength 반환된 가장 긴 데이터 길이🎜🎜 $read_timeout 읽기 작업 시간 초과(PHP 4 Beta 4+ 필요) 설정 시간 초과 없이 0으로 설정 🎜🎜$timed_out 읽기 작업 시간이 초과되면 이 속성은 true를 반환합니다(PHP 4 Beta 4+ 필요) 🎜🎜$maxframes는 추적을 허용합니다. 최대 프레임 수🎜🎜$status 캡처된 http🎜의 상태 🎜$temp_dir 웹 서버가 쓸 수 있는 임시 파일 디렉터리(/tmp)🎜🎜$curl_path cURL 바이너리가 있는 디렉터리, cURL 바이너리가 없으면 false로 설정🎜🎜 🎜다음은 예시입니다. 🎜🎜 코드는 다음과 같습니다.🎜
<?php $snoopy->proxy_host = "https://www.jb51.net"; $snoopy->proxy_port = "8080"; //使用代理 $snoopy->maxredirs = 2; //重定向次数 $snoopy->expandlinks = true; //是否补全链接 在采集的时候经常用到 // 例如链接为 /images/taoav.gif 可改为它的全链接 <a href="https://www.jb51.net/images/taoav.gif">https://www.jb51.net/images/taoav.gif</a> $snoopy->maxframes = 5 //允许的最大框架数 //注意抓取框架的时候 $snoopy->results 返回的是一个数组 $snoopy->error //返回报错信息 ?>🎜지정된 URL의 콘텐츠를 가져옵니다🎜🎜코드는 다음과 같습니다.
🎜rrreee🎜양식 제출🎜🎜코드는 다음과 같습니다.
🎜 rrreee🎜이제 제출된 양식으로 많은 일을 할 수 있습니다. 다음으로 IP와 브라우저를 위장해 보겠습니다🎜🎜🎜브라우저를 위장해 보세요🎜🎜🎜코드는 다음과 같습니다.
🎜rrreee🎜됩니다. 세션을 위장하고, 브라우저를 위장하고, IP를 위장할 수 있다는 사실을 알게 되었습니다. 하하. 🎜🎜🎜예: 🎜인증번호와 IP를 인증하여 투표하면 연속적으로 투표할 수 있습니다. 🎜🎜🎜ps: 🎜여기에서 IP를 위장하는 것은 실제로는 http 헤더를 위장하는 것이므로
REMOTE_ADDR
를 통해 얻은 IP는 위장할 수 없으나 http 헤더를 통해 얻은 IP(프록시를 방지할 수 있음) 종) 자신의 IP를 만들 수 있습니다. 🎜🎜코드를 확인하는 방법에 대해 간단히 이야기하자면: 🎜🎜먼저 일반 브라우저를 사용하여 페이지를 보고, 인증 코드에 해당하는 세션 ID를 찾은 다음, 세션 ID와 인증 코드 값을 기록한 다음 스누피를 사용하여 위조합니다. . 🎜🎜🎜원칙: 🎜세션ID가 동일하기 때문에 획득한 인증코드는 처음 입력한 인증코드와 동일합니다. 🎜🎜때때로 우리는 더 많은 것을 가짜로 만들어야 할 수도 있습니다. 스누피는 우리를 위해 그것을 완전히 생각했습니다.🎜rrreee🎜🎜관련 비디오 추천: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜위 내용은 PHP 스누피의 사용법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

드림위버 CS6
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
