PHP - Esaminare richieste http

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
henrymalefico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 711
Iscrizione: giovedì 5 febbraio 2009, 14:32
Desktop: Unity
Distribuzione: 12.04
Località: Marina di pietrasanta toscana lucca

PHP - Esaminare richieste http

Messaggio da henrymalefico »

Ciao!

Vorrei riuscire a fare questo:

- inserire un url qualsiasi in un form

- premere invio

- mostrare SOLTANTO tutte le richieste e risposte che vengono effettuate andando a quell'indirizzo senza visualizzare la pagina


esempio:

Voglia scoprire che richieste e risposte vengono fatte quando andiamo su facebook?
inseriamo nel form: http://it-it.facebook.com
premiamo invio
e subito dopo vengo mostrate le richieste e le risposte http (senza mostrare la pagina di facebook ovviamente)

come fa questo addons https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/


ho poca esperienza nei linguaggi orientati al web e per questo vi chiedo consiglio su come muovermi
ho cercato un pò in rete ma non ho trovato niente per ora...
fatemi sapere! ciao!
UUBUNTU 12.04 DELL Vostro 2520
http://streamingfromthenet.blogspot.com/
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: PHP - Esaminare richieste http

Messaggio da AlexDiste »

Ma guarda lo scheletro di una richiesta HTTP è sempre lo stesso più o meno.

E' un testo che dice che risorsa cercare e con che modalità (get o post) dopo di che ottiene un codice di risposta (paragonabile ad un return di una funzione).

Una chiamata http è del tipo:

Codice: Seleziona tutto

GET /wiki/Pagina_principale HTTP/1.1 
Connection: Keep-Alive
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.2; Linux) (KHTML, like Gecko)
Accept: text/html, image/jpeg, image/png, text/*, image/*, */*
Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identity
Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5 
Accept-Language: en
Host: it.wikipedia.org
e una risposta è del tipo:

200 che equivale ad ok o 404 pagina non trovata, etc..

Qua lo spiega bene: http://it.wikipedia.org/wiki/Hypertext_ ... r_Protocol

Quindi non capisco cosa vorresti ottenere di preciso, sapere quali variabili passi a facebook con i vari metodi o altro?
Ultima modifica di AlexDiste il venerdì 17 febbraio 2012, 12:11, modificato 1 volta in totale.
Avatar utente
henrymalefico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 711
Iscrizione: giovedì 5 febbraio 2009, 14:32
Desktop: Unity
Distribuzione: 12.04
Località: Marina di pietrasanta toscana lucca

Re: PHP - Esaminare richieste http

Messaggio da henrymalefico »

Quindi non capisco cosa vorresti ottenere di preciso, sapere quali variabili passi a facebook con i vari metodi o altro?
Quello che "vorrei fare" è tutto scritto nel primo post, se posso essere ancora piu conciso diciamo che vorrei fare un
"live http request ONLINE" (come l'addon di firefox ma concepito in modo differente.

Ok quindi il COSA vorrei fare l'abbiamo capito, adesso rimane il COME farlo...
Se mi date qualche dritta ve ne sarei grato!
Ciao!
UUBUNTU 12.04 DELL Vostro 2520
http://streamingfromthenet.blogspot.com/
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: PHP - Esaminare richieste http

Messaggio da AlexDiste »

ok te lo faccio io a mano quando chiami facebook la tua richiesta http è la seguente:

Codice: Seleziona tutto

POST /facebook.com/index.php HTTP/1.1 
Connection: Keep-Alive
User-Agent: [color=red]il tuo user agent[/color]
Accept: text/html, image/jpeg, image/png, text/*, image/*, */*
Accept-Encoding: x-gzip, x-deflate, gzip, deflate, identity
Accept-Charset: iso-8859-1, utf-8;q=0.5, *;q=0.5 
Accept-Language: en
Host: facebook.com


e la sua risposta è:

Codice: Seleziona tutto

200
comunque che webserver usi? Se usi apache penso tu possa loggare tutte le richieste che riceve e memorizzarle in un file di testo.
In php potresti provare ad usare questa: http://php.net/manual/en/function.getallheaders.php o http://www.php.net/manual/en/function.a ... eaders.php
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: PHP - Esaminare richieste http

Messaggio da Zoff »

fare esattamente quello che fanno i plugin per il browser non è possibile perché la richeista che fai col browser è differente da quella che fai dal server.

Il massimo che puoi fare è replicare tutte le richieste ma oltre alle normali GET e POST devi anche interpretare ed eseguire il codice javascript per emulare le richieste javascript ajax.
Ergo dovresti replicare un browser engine con il tuo webserver.

Non è impossibile ma non credo che lo sforzo necessario valga il prodotto finale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
henrymalefico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 711
Iscrizione: giovedì 5 febbraio 2009, 14:32
Desktop: Unity
Distribuzione: 12.04
Località: Marina di pietrasanta toscana lucca

Re: PHP - Esaminare richieste http

Messaggio da henrymalefico »

Zoff ha scritto: fare esattamente quello che fanno i plugin per il browser non è possibile perché la richeista che fai col browser è differente da quella che fai dal server.

Il massimo che puoi fare è replicare tutte le richieste ma oltre alle normali GET e POST devi anche interpretare ed eseguire il codice javascript per emulare le richieste javascript ajax.
Ergo dovresti replicare un browser engine con il tuo webserver.

Non è impossibile ma non credo che lo sforzo necessario valga il prodotto finale.
mmm ok...
Avevo gia fatto una cosa del genere in python, una gui in gtk per scapy e adesso volevo vedere se era possibile fare qualcosa del genere
per il web...
vabbuò cerco altre info e vi faccio sapere! ciao!
UUBUNTU 12.04 DELL Vostro 2520
http://streamingfromthenet.blogspot.com/
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: PHP - Esaminare richieste http

Messaggio da Zoff »

In python vale lo stesso discorso.
A meno che non usi le librerie di un webbrowser devi occuparti tu di interpretare il risultato di ogni richiesta, cercare codice javascript, eseguirlo e nel caso ci siano richiesta ajax, eseguirle.

Il problema è identico.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
henrymalefico
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 711
Iscrizione: giovedì 5 febbraio 2009, 14:32
Desktop: Unity
Distribuzione: 12.04
Località: Marina di pietrasanta toscana lucca

Re: PHP - Esaminare richieste http

Messaggio da henrymalefico »

In python facevo un webbrowser.open(www.sitochetipare.it) e con scapy sniffavo tutte le request/response e le stampavo a video..

Non è possibile caricare una pagina www.sitochetipare.it e contemporaneamente memorizzare tutte le sue request/response ?


da neofita di html/php non credevo fosse una cosa cosi impossibile da fare, in python risulta quasi elementare (ovviamente grazie al modulo scapy)
UUBUNTU 12.04 DELL Vostro 2520
http://streamingfromthenet.blogspot.com/
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: PHP - Esaminare richieste http

Messaggio da Zoff »

come ho scritto sopra python apre l'url con un webbrowser per questo riesce a farlo.

Su un webserver non è installato un browser, perciò PHP non ha una libreria per accedervi.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Avatar utente
DaNieL85
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 300
Iscrizione: sabato 2 febbraio 2008, 12:18

Re: PHP - Esaminare richieste http

Messaggio da DaNieL85 »

Hai provato cUrl?

Mi sembra fosse possibile indicare l'user-agent, in modo che il sito creda che sia un browser e ti restituisca la pagina "normale".

Per gli header sono sicuro che con curl li recuperi: http://it2.php.net/manual/en/function.curl-getinfo.php

Poi non saprei come fare per eseguire eventuale codice Js nella pagina per recuperare anche eventuali richieste ajax eseguite dal sito.. qui credo serva per forza di cose un browser (o una libreria che lo emuli o faccia da ponte).
You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
AlexDiste
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2299
Iscrizione: martedì 18 agosto 2009, 9:25

Re: PHP - Esaminare richieste http

Messaggio da AlexDiste »

forse webkit potrebbe bastare, è anche open source quindi personalizzabile
Avatar utente
DaNieL85
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 300
Iscrizione: sabato 2 febbraio 2008, 12:18

Re: PHP - Esaminare richieste http

Messaggio da DaNieL85 »

AlexDiste ha scritto: forse webkit potrebbe bastare, è anche open source quindi personalizzabile
bhè, se si ha voglia di sprocarsi le mani si potrebbe anche analizzare wkhtmltopdf, utilizza il render di webkit per convertire una pagina html in pdf, eseguendo anche il javascript.
You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: nik1404 e 7 ospiti