CURL tabanlı HTTP isteği tamamen tarayıcı tabanlı bir istek taklit edebilir?

2 Cevap php

Bu bir iki parça sorudur.

Q1: kıvrılabilir temelli istek% 100 tarayıcı tabanlı bir isteği taklit?

Q2: Evet, ne tüm seçenekler set edilmelidir. Eğer değilse, tarayıcı bu cURL tarafından taklit arı olamaz ekstra ne yapar?

Ben bir web sitesi var ve ben çok kısa bir süre içinde tek bir IP yapılan istek binlerce bakın. Bu istekler tüm verileri hasat. Kullanılan ajanı tanımlamak için günlüğüne bakıldığında, tarayıcıdan bir istek gibi görünüyor. Yani onun bir bot ve bir kullanıcı olmadığını merak oldu.

Şimdiden teşekkürler

2 Cevap

R1 : sanırım, evet, bir kıvrılma temelli istek tarayıcı tabanlı bir birini taklit edebilir, hepsi doğru başlıklarını, set halinde: tüm sonra, hem de sadece bir çiftin bir HTTP isteği göndermek Belirli bir kuralı (yani, HTTP RFC) Aşağıdaki metin satırları


R2 : The best way to answer that question is to take a look at what your browser is sending ; with Firefox, for instance, you can use either Firebug or LiveHTTPHeaders to get that.

Örneğin, bu sayfayı almak için, Firefox bu istek başlıklarını gönderdi:

GET /questions/1926876/can-a-curl-based-http-request-imitate-a-browser-based-request-completely HTTP/1.1
Host: stackoverflow.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.2b4) Gecko/20091124 Firefox/3.6b4
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://stackoverflow.com/questions/1926876/can-a-curl-based-http-request-imitate-a-browser-based-request-completely/1926889
Cookie: .......
Cache-Control: max-age=0

(I Just removed a couple of informations -- but you get the idea ;-) )

Kıvırmak kullanarak, ile curl_setopt to set the HTTP headers ; here, you'd probably have to use a combination of CURLOPT_HTTPHEADER, CURLOPT_COOKIE, CURLOPT_USERAGENT, ... çalışabilir

This page has all the answers to your questions. Çoğunlukla şeyleri taklit edebilir.