簡體   English   中英

重置php服務器瀏覽器cookie

[英]Reset php server browser cookies

我正在使用file_get_html抓取網站,但是如果我提出很多要求,我將被“禁止”,如果我想重新獲得訪問權限,則需要單擊一些反機器人程序,它將解鎖該網站,但僅用於瀏覽器/ pc在這里。 我的問題是有什么方法可以解除php瀏覽器的阻止(也許從另一個瀏覽器復制cookie?)而無需重新啟動路由器(獲取另一個ip地址)。

原始問題的答案:

我確實有一個以前研究過的解決方案。 雖然不是100%合法。 但是,您正在執行的操作也不是很合法。...所以我認為可能不錯。

此外,它們還會根據IP阻止您訪問的反漫游器,清除cookie不會繞開任何操作。 即使您清除了cookie,您仍然會獲得驗證碼頁面。

首先,您知道反機器人網站賦予google-recaptcha權利了嗎?

因此,您可以制作一個JavaScript來檢測google-recaptcha div(我的情況是使用jQuery),如果檢測到gcaptcha div,則可以使用第三方驗證碼解決方案API。 在我的情況下,我使用2captcha- >用您自己的代理發送給他們captcha id(對於gcaptcha代理是必要的,您可以用squid代理服務器托管一個代理)->然后他們向您發送g響應->您將g-響應發布回網站->取消阻止

價格非常非常便宜,對我來說價格是可以承受的,因此我將其視為一個很好的解決方案。

由於限制,我無法向您發布腳本,但是您可以在其網站上找到一些示例。

新編輯:對於您的第二個問題,提出了以下評論:

您的問題:因此,基本上,據我了解,我可以獲取該驗證碼ID(發送給自己)並解決(例如2captcha.com人),然后抓取腳本將再次起作用。 我認為這只是基本的php和html,如果您有任何提示,我很高興聽到。 謝謝!

為此,我建議您使用瀏覽器的內置開發人員工具打開所有具有重新輸入代碼的登錄頁面,在編寫任何代碼之前進行一些檢查。 我個人使用Opera Opera。

  1. 使用具有Recaptcha的瀏覽器打開登錄頁面
  2. 瀏覽器->右鍵單擊->檢查元素->打開網絡標簽
  3. 現在選中“我不是機器人”復選框,您將看到完成了兩個HTTP POST,找到一個URL為https://www.google.com/recaptcha/api2/userverify?k=SITE_KEY_HERE的URL,在響應部分,您會看到Google向您響應了一個json對象,類似於{“ uvresp”:“ A_LONG_STRING_HERE_blablablabla”,,} A_LONG_STRING_HERE_blablablabla正是我們需要的
  4. 現在,您在登錄名和密碼中輸入任何內容,然后按登錄並再次查看網絡,您不僅會找到用戶名和密碼,還會將一對值POST張貼到服務器,即g-recaptcha-response=A_LONG_STRING_HERE_blablablabla 因此,每當出現recapcha時,post g-recaptcha-response都會通過驗證。

現在,這是您的代碼的一些建議。

對於php服務器端:

使用file_get_html之后,在Recaptcha中檢測一些<div> ,例如<div class="rc-anchor-content"> 如果檢測到驗證碼,請停止抓取並等待答案,顯示包含輸入參數的頁面,您將輸入g-recaptcha-response和一個提交按鈕。

注意:如果您嘗試復制<div class="g-recaptcha">所有元素並將其顯示在您的網站上,則可能會收到“ site-key”錯誤消息,因為驗證碼本身也會檢測到顯示在哪里從(URL)。 但是,如果您使用一些javascript,您也許可以欺騙它?(或者您可以嘗試使用非javascript版本的recaptcha?disable javascript,並且會看到一個,不確定它是如何工作的)2captcha.com可能是這樣做的,因為我您之前已經在其工作人員頁面上看到了一個recaptcha,您可以注冊一個工作人員帳戶並檢查其工作人員頁面。

您需要在台式機上執行的操作:

使用正常的瀏覽器打開目標網站(必須與php瀏覽器具有相同的ip,才能使用代理),單擊復選框,然后從Google復制json響應。 將此字符串提交到您的php服務器,記住一個g響應會話僅在3-5分鍾內有效,它將過期。

回到PHP瀏覽器:

php服務器收到您的g-recaptcha-response發送,將其發布到目標網站(不要忘記其他發布值(如果存在)),取消阻止

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM