Eu tinha escrito o código de algum PHP para raspar periòdicamente um URL e estava trabalhando muito bem. Então o local deve ter mudado algo e agora não trabalha. Trabalha muito bem com FireFox mas eu começ um pedido do mau 400 através da ONDA. Parece como eu tentei cada ajuste do curl_opt sem o sucesso. Eu estou pensando se eu posso apenas emitir ao exato mesmos encabeçamentos de pedido que Firefox mim deve ser fino. Mas como fazer isso? o CURL parece adicionar alguns artigos extra sem meu dizer ele to. Lately que eu tenho ajustado meu próprio encabeçamento com muito bonito os mesmos artigos que Firefox como este: --------- $header = disposição (“aceitar: texto/HTML, aplicação/xhtml+xml, application/xml; q=0.9, */*; q=0.8”, “Aceitar-Língua: en-nós, en; q=0.5”, o " Aceitam-Charset: ISO-8859-1, utf-8; q=0.7, *; q=0.7”, “Keep-Alive: 300”, “conexão: keep-alive”, “Esconderijo-Controle: max-age=0”, “Aceitar-Codificação: o gzip, desinfla”); curl_setopt ($ch, CURLOPT_HTTPHEADER, $header); ------o *** do o encabeçamento de trabalho de FireFox é basicamente este: Host: rel= " nofollow " do” _blank”” do target= de " http://www.example.com do href= do www.example.com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; En-E.U.; rv: Accept de 1.9.0.10) Gecko/2009042316 Firefox/3.0.10 GTB7.0 (.NET CLR 3.5.30729): texto/HTML, aplicação/xhtml+xml, application/xml; q=0.9, */*; q=0.8 Accept-Language: en-nós, en; q=0.5 Accept-Encoding: gzip, deflate Accept-Charset: ISO-8859-1, utf-8; q=0.7, *; q=0.7 Keep-Alive: 300 Connection: manter-alive Cookie: noscript=1; userid=1550521915; xsession=d9c73c024e99af04581a30521d3558ba; datrval=1276442132-05e4a9265e4ac217a93748a73720f4becd56decd0c7d576d04eb8 Cache-Control: max-age=0 --------o
There é um início de uma sessão que eu funcione através da onda antes de meu pedido para a página que eu quero raspar e alguns daqueles bolinhos começ lá. Mas eu estou consideravelmente confiável que o usuário e os bolinhos da sessão não são o problema. Quando eu olho o encabeçamento retornado pelo curl_getinfo mim ver algumas diferenças e figurá-las que um destes é o *** de problem. o encabeçamento que não de trabalho da ONDA eu estou emitindo sou este: p HTTP/1.0 User-Agent do POST /datadirectory/viewinfo.ph: Mozilla/5.0 (Windows; U; Windows NT 6.0; En-E.U.; rv: Host do de 1.9.0.10) Gecko/2009042316 Firefox/3.0.10 GTB7.0 (.NET CLR 3.5.30729): rel= " nofollow " do” _blank”” do target= de " http://www.example.com do href= do www.example.com Cookie: xsession=d9c73c024e99af04581a30521d3558ba; userid=1550521915; noscript=1; datrval=1276442132-05e4a9265e4ac217a93748a73720f4becd56decd0c7d576d04eb8 Accept: texto/HTML, aplicação/xhtml+xml, application/xml; q=0.9, */*; q=0.8 Accept-Language: en-nós, en; q=0.5 Accept-Charset: ISO-8859-1, utf-8; q=0.7, *; q=0.7 Keep-Alive: 300 Connection: manter-alive Cache-Control: max-age=0 Accept-Encoding: gzip, deflate Content-Length: 0 Content-Type: as diferenças de application/x-www-form-urlencoded
The que eu penso podem ser ele são: p de /datadirectory/viewinfo.ph do BORNE do *** do -- Huh? Por que a ONDA emite esta como o borne? O local junto com este é o URL que eu quero. rel= " nofollow " do” _blank”” do target= de " http://www.example.com/datadirectory/viewinfo.php do href= do Índice-Comprimento do *** do adirectory/viewinfo.php
de http://www.example.com/dat: 0 -- Porque sou eu que emito lhe o Índice-Comprimento: 0? Eu gostaria de deixar apenas para fora este desde que Firefox não o emite. Mas a ONDA está adicionando-o automaticamente. Talvez isso está dizendo que o comprimento de dados do BORNE é 0? Aceitar-Codificação do *** do
: o gzip, desinfla. Eu ajusto este manualmente no CURLOPT_HTTPHEADER mas se eu lhe me deixo para fora ainda tenho o problema. *** que do
eu tentei com a onda do ajuste a HTTP 1.0 e o HTTP 1.1, nenhuns fêz idéias de difference.
Any??
class= do
|