Autor
|
Tema: La obtención de los parámetros de una query se me resisten... (Leído 2,389 veces)
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.813
|
Muy buenas!. Tengo intención de desarrollar un cliente de escritorio que permitirá crear una publicación en "X" sitio web, para ello hay que rellenar un form con campos específicos, no tengo problema en averiguar cómo rellenar el form, el problema que tengo es al realizar la petición, ya que es un tema que no controlo bien, y necesito saber los parámetros de la query. Estoy tratando de averiguarlo mediante firefox + Http fox, pero no me captura la petición o yo no consigo verla, no encuentro ninguno de los datos que he usado para rellenar el form... ¿Alguien me hecha una mano? Preferiría que me explicasen que herramienta es conveniente utilizar para averiguar estos datos para aprender por mi cuenta, sinceramente no se lo que ocurre, con otros sitios web los cuales son mucho más complejos pude llevar a cabo esta misma tarea con dicha extensión Http Fox, pero en esta página me es imposible averiguar nada. El form de la publicación es el siguiente, aunque hay que estar registrado (el registro es gratis) http://freehardmusic.com/albums.html?sobi2Task=addNewSaludos!
|
|
« Última modificación: 6 Julio 2015, 17:02 pm por Eleкtro »
|
En línea
|
|
|
|
MinusFour
|
Aqui va el Request que hizo mi navegador: POST /index.php?option=com_sobi2&sobi2Task=saveSobi HTTP/1.1 Host: freehardmusic.com User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://freehardmusic.com/albums.html?sobi2Task=addNew Connection: keep-alive Content-Type: multipart/form-data; boundary=---------------------------86737413215581253941943518474 Content-Length: 224193
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_entry_name"
AlbumName -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_band"
BandName -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_year"
2000 -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_genre[]"
AOR -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_genre[]"
Alternative metal -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_genre[]"
Ambient black metal -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_country"
United States -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_language"
English -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_format"
MP3 96 kbit/s -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_website"
http://oficialwebsite.com -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_description"
<p>BBC POST</p> -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link1"
Dl link1 -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link2"
Dl link2 -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link3"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link4"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link5"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link6"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link7"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link8"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link9"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link10"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link11"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link12"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="field_link13"
-----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="sobi2Img"; filename="books.gif" Content-Type: image/gif
[Informacion de Gif aqui] (Muy largo no lo voy a poner aqui) -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="sobi2MetaKey"
metaKeywords -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="sobi2Metadesc"
MetaDesc -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="sobi2SlectedCats[]"
Rock -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="sobi2SlectedCatsID[]"
2 -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="cuid"
423607aedff8f608888a6936432f8682 -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="uid"
620446 -----------------------------86737413215581253941943518474 Content-Disposition: form-data; name="Itemid"
13 -----------------------------86737413215581253941943518474--
Por lo general utilizo Wireshark para sacar los paquetes. Simplemente busco el request en wireshark con el filtro http y ahi puedo acceder a toda la información del request. Por HTTPS es mas difícil, creo que si usas HTTPS para la información lo mejor sería que usaras alguna herramienta del navegador. Venía con una cookie, pero la he borrado por motivos de seguridad.
|
|
« Última modificación: 6 Julio 2015, 16:14 pm por MinusFour »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.813
|
Genial, muchas gracias MinusFour por tu tiempo en registrarte y demás. Creo que solo tengo una duda más, respecto a este parámetro: ¿cómo se escribiría en el string de la query?, me refiero a cómo se delimita la multiselección.
|
|
« Última modificación: 6 Julio 2015, 16:41 pm por Eleкtro »
|
En línea
|
|
|
|
#!drvy
|
¿cómo se escribiría en el string de la query?, me refiero a cómo se delimita la multiselección.
En el query se escribe tal cual. Luego el servidor se encarga de convertir todos los datos con el mismo nombre en un array. Acuérdate de enviar todos los headers posibles (de los que te mostró MinusFour) sobre todo Referer, User-agent etc.. y mira a ver si hay algún campo que varia de valor cada vez que vas a subir un album (tipo un token). La mejor manera de ver requests de una pagina es con las herramientas del propio navegador. Por ejemplo en Firefox, antes de enviar el formulario, si pulsas F12 y te vas a la pestaña Red (Network) te saldrán todos los requests que haces. Chrome tiene uno parecido pero no me acuerdo si se activaba con F12 también. Saludos
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.813
|
En el query se escribe tal cual. Luego el servidor se encarga de convertir todos los datos con el mismo nombre en un array. Ah, ¿si?, vaya, que sofisticado, jaja, algo nuevo que acabo de aprender . Entonces, yo debo escribir también los símbolos [] para que el server lo identifique cómo un Array?, confírmame que "tal cual" realmente quiere decir tal que así: 1. ...field_genre[]=valor1&field_genre[]=valor2 O por lo contario, ¿así?: 2. ...field_genre=valor1&field_genre=valor2 Gracias
|
|
« Última modificación: 6 Julio 2015, 17:01 pm por Eleкtro »
|
En línea
|
|
|
|
#!drvy
|
La 1 =)
Saludos
|
|
|
En línea
|
|
|
|
MinusFour
|
Ah, ¿si?, vaya, que sofisticado, jaja, algo nuevo que acabo de aprender . Entonces, yo debo escribir también los símbolos [] para que el server lo identifique cómo un Array?, confírmame que "tal cual" realmente quiere decir tal que así: 1. ...field_genre[]=valor1&field_genre[]=valor2 O por lo contario, ¿así?: 2. ...field_genre=valor1&field_genre=valor2 Gracias Realmente ninguno de los dos. O bueno, depende mucho de la libreria con la que estes trabajando. El Content-Type es multipart/form-data no application/x-www-form-urlencoded. Al final la información no acaba como un querystring, sino como te he mostrado en mi request. Lo único es que el nombre del campo si tiene que ser field_genre[]. https://en.wikipedia.org/wiki/MIME#Multipart_messages
|
|
« Última modificación: 6 Julio 2015, 17:11 pm por MinusFour »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Desconectado
Mensajes: 9.813
|
Lo siento, pero, para no publicar esto en un post chorra... WireShark va muy bien, pero, para otros propósitos cómo obtener la visualización de la imagen captcha, ¿alguien sabe que programa es este?: EDITO: Vaya vaya, si es una aplicación de mi querido Telerik !! El programa se llama Fiddler, y a simple vista tiene muchas características muy buenas! Genial, programa recomendado. Saludos
|
|
« Última modificación: 6 Julio 2015, 19:53 pm por Eleкtro »
|
En línea
|
|
|
|
|
|