Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: jheberg en 12 Abril 2017, 21:56 pm



Título: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 21:56 pm
Hola, hay una página que tiene una API y en ella te dejan este código:
GET https://api.taringa.net/user/follow/{int:user_id}

Dicho código lo puede poner en la URL de esta forma:
https://api.taringa.net/user/follow/123456

Esa es para la ID de X usuario, osea el #123456

Ahora bien, me han dicho que pegue eso en un post, la verdad no entiendo ¿cómo hago eso?

La intención es clavar un follow pero a tu misma cuenta sin embargo esa URL solo sirve para hacer follow a una ID distinta de la tuya, de todos modos eso no es importante, lo que importa es eso, que me expliquen el GET y el POST con la línea de código que les he dejado.

Gracias.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 12 Abril 2017, 22:10 pm
eso es una url amistosa y está haciendo get de forma discreta...


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 22:14 pm
eso es una url amistosa y está haciendo get de forma discreta...

Si, no es nada "ilegal" pero entonces colocar eso en la barra de direcciones como URL ya estoy haciendo un GET ¿cierto?

Entonces ahora como hago un post?


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 12 Abril 2017, 22:26 pm
no, no es ilegal ni inapropiado, solo que está hecho para ser accedido facilmente por un programa

para el post tienes que enviar data en formato post, es decir, no via url, sino via header... lo más simple es hacer un form con metodo post


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 22:28 pm
no, no es ilegal ni inapropiado, solo que está hecho para ser accedido facilmente por un programa

para el post tienes que enviar data en formato post, es decir, no via url, sino via header... lo más simple es hacer un form con metodo post

Ese formato Post ¿cómo se hace? ayúdame en eso please, no sé programar.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 12 Abril 2017, 22:35 pm
te recomiendo que leas lo basico de html si esperas hacer una llamada http, busca en google como hacer un form html


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 22:41 pm
es decir, no via url, sino via header... lo más simple es hacer un form con metodo post
Aclárame eso de vía header.

te recomiendo que leas lo basico de html si esperas hacer una llamada http, busca en google como hacer un form html

Sé un poco de html, sé como funcionan sus etiquetas con los textos pero de ahí no más, si busco como hacer un form html ¿se supone que ya sabré como usar la URL de la API?
Ah pero que tipo de form debo aprender? ¿hay form de POST y esas cosas?

Disculpa si exigo muchas explicaciones pero como sabrás necesito informarme bien para no perderme, gracias eh.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 12 Abril 2017, 22:46 pm
Citar
Aclárame eso de vía header.
es como pasa la data via post... el navegador lo envía como header http request cuando realiza la peticion

Citar
¿se supone que ya sabré como usar la URL de la API?

si, en general, tienes que saber el nombre de quien lo recibe y ue tipo de dato recibe

Citar
que tipo de form debo aprender?
hay un solo tipo de form, el metodo es el que cambia


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 23:07 pm
hay un solo tipo de form, el metodo es el que cambia

Estuve viendo videos, pero nada que ver con mi caso, supongo que debo especificar bien la búsqueda pero no sé que poner en la búsqueda.

Digo eso porque en ningún momento se usa una URL, me explicas el por qué de eso?



Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: WHK en 12 Abril 2017, 23:10 pm
Yo creo que se refieren a que lo envies en un post o sea en tus temas, no en una petición http/post.

Supongo que lo que te dijeron es que al final de tus temas pongas ese enlace con el id de tu tema y la gente podrá suscribirse.

Ahora, lo que puedes hacer es colocar un boton de descarga con el enlace hacia ese que tienes o una imagen que apunte a ese enlace, con tal de que la persona que entre se auto agregue como favorito a tu cuenta.

Por lo menos eso entendí en las primeras lineas de tu post.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 23:16 pm
Por lo menos eso entendí en las primeras lineas de tu post.
Ahm, no, no, bueno no sé, como me hablaron de GET entonces creo que no es lo que vos dices.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: WHK en 12 Abril 2017, 23:24 pm
Pues si quieres tunear un coche necesitas saber mecanica, si quieres restaurar una pintura necesitas saber pintar, si quieres usar la api de taringa necesitas saber lo mínimo de desarrollo web.

La api funciona via post data la cual la puedes enviar desde un formulario post o ajax, pero el usuario debe tener sesion iniciada porque te valida la cookie (y probablemente la referencia para prevenir los xsrf).

http://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=527:get-y-post-html-method-formas-de-envio-de-datos-en-formulario-diferencias-y-ventajas-ejemplos-cu00721b&catid=69:tutorial-basico-programador-web-html-desde-cero&Itemid=192

Saludos.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 12 Abril 2017, 23:49 pm
La api funciona via post data la cual la puedes enviar desde un formulario post o ajax, pero el usuario debe tener sesion iniciada porque te valida la cookie (y probablemente la referencia para prevenir los xsrf).

Esto no se queda así, voy a estudiar un poco el form hmtl y luego les pregunto.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 13 Abril 2017, 01:14 am
Investigando me quedó de esta forma el código:

Código:
<!DOCTYPE html>
<html lang="es">
<head>
<title>Formulario</title>
<meta charset="utf-8">
</head>
<body>
<form method="GET" action="https://api.taringa.net/user/follow/123456">
nick: <input type="text" id="nick" required><br/>
pass: <input type="password" id="pass" required><br/>
<input type="submit" title="Enviar">
</form>
</body>
</html>

Esto lo guardé como html y lo ejecuté en el Navegador, ahí me pide la contraseña y el usuario de mi cuenta taringa, se la doy pero al darle enviar me lleva a la URL de la API y me sale el mismo mensaje que cuando le pongo en el navegador :-\ me estoy saltando algo?

Fíjense en "action=" y diganme si es correcto escribir la URL de la API.
En method intenté con GET luego con POST y aún así no funcionó.

La api funciona via post data la cual la puedes enviar desde un formulario post o ajax, pero el usuario debe tener sesion iniciada porque te valida la cookie (y probablemente la referencia para prevenir los xsrf).

Tuve mi sesión iniciada y aún así no funcionó, aparte me explicas eso de los xsrf?

hay un solo tipo de form, el metodo es el que cambia

Eso hice no será que las variables están mal? yo puse inspeccionar elemento y me dieron esos nombres: nick y pass  :-\


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 13 Abril 2017, 01:21 am
ese enlace como te dije usa get discreto, un form get no funcionará...

por otro lado, tus input no tienen name, ergo la data no se está enviando al server correctamente parseada

recomiendo leer un tutorial de html y luego intentar hacer eso que estás dando tumbos de ciego


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 13 Abril 2017, 01:33 am
tus input no tienen name, ergo la data no se está enviando al server correctamente parseada

Así vi en el tuto, creí que al poner nick: o pass: ya estaba dando el name del objeto, porque yo puse la línea completa como estaba en el tutorial.

recomiendo leer un tutorial de html y luego intentar hacer eso que estás dando tumbos de ciego

Ok, me es dificil encontrar el tutorial adecuado, tú que conoces mi caso serías tan amable de darme un link para estudiar eso? video, pdf lo que sea.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 13 Abril 2017, 01:39 am
el tutorial que estás viendo debe ser jscript, ya que el id lo usa es jscript para trabajar los elementos, pero para envio de datos es name, te paso un tuto de php que es lo que tengo a mano que está eso (puedes ignorar la parte de php, concentrate en el html)

este desde el capitulo 9 formularios

http://www.tutorialesprogramacionya.com/phpya/ (http://www.tutorialesprogramacionya.com/phpya/)


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 13 Abril 2017, 03:16 am
te paso un tuto de php que es lo que tengo a mano que está eso (puedes ignorar la parte de php, concentrate en el html

Ok, el form me queda así:
Código:
<form method="get" action="https://api.taringa.net/user/follow/123456">
    nick: <input type="text" name="nick"><br/>
    pass: <input type="password" name="pass" required><br/>
    <input type="submit" value="Enviar">
</form>

Luego de ejecutar el html, llenar los datos y darle click a Enviar, la URL se vuelve así:
https://api.taringa.net/user/follow/123456?nick=X&pass=Y

Donde X es mi user y Y mi contraseña.

Pero si pongo el método post la URL no sufre ningún cambio, de todos modos en ambos casos no funciona lo que hago, entonces decidí cambiar la URL por la siguiente:
https://taringa.net/login

Ya pues, como podrás ver es la URL para loguearse, mi intención es que le mande los datos a la página sin tener que loguearme desde la página original sino desde mi html, pero sucede algo distinto, la URL cambia pero solo se llena el objeto Usuario, el pass queda vacío, entonces deduzco que la línea del pass debe estar mal, pero al leer el código dice lo siguiente:
<input class="ui-corner-all form-input-text" name="pass" type="password">

Ahí me doy cuenta que el problema no es esa línea de mi código, sino otra cosa que desconozco.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 13 Abril 2017, 03:19 am
no estoy seguro que en esa pagina a la que estás llamando puedas loggearte, tendrían que ellos haberla conectado al login y eso lo saben es ellos


cambia ese api por el login


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: jheberg en 13 Abril 2017, 03:27 am
cambia ese api por el login

ahm, lo pongo así?
https://login.taringa.net/user/follow/123456

Oye, no importa el login realmente, solo quise experimentar, mejor dime si mi código técnicamente hablando está bien.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: engel lex en 13 Abril 2017, 04:46 am
el form si


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: WHK en 14 Abril 2017, 17:37 pm
Como dije, probablemente sea el sistema de protección anti xsrf, por eso no funciona desde el formulario que abriste en tu pc.

Lo que puedes hacer es utilizar live headers (https://addons.mozilla.org/es/firefox/addon/live-http-headers/), hacerle click al boton suscribir de algún usuario y ver como se envía la solicitud, probablemente solo acepte peticiones ajax.


Título: Re: ¿Cómo hacer un Get o Request Post en uná página?
Publicado por: xavi.py en 24 Abril 2017, 23:21 pm
Hola,

Aquí tienes el código.


Código:
curl --header "insertatusheaders" --cookie "tucookiedesesión" --data "user_id=XXXXX" https://api.taringa.net/user/follow/XXXXXX

Si quieres saber que cookies i que headers tienes que enviar, inicia un proxy e intercepta las peticiones que hace la página mientras le das "follow" a otra persona.