Binding mod_curl [Descarga de ficheros de Internet]

Started by josebita, November 25, 2011, 12:32:52 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

josebita

En principio se debería poder hacer algo así, sí, pero desconozco los detalles de cómo funcionan esos SDKs así que no te lo puedo asegurar.

Erkosone

Buscando un poco mas por la red he visto que hay un método online para utilizar, y esta vez si que parece que funciona la llamada, el único problema que tengo es que dice que el login básico no es soportado, supongo que  será por temas de seguridad..


Joseba o Splinter, si sabéis como modificar esto creo que pueda funcionar el tema de postear desde los juegos, digo que "creo" que si por que ya no se queja de nada mas que de la autentificación básica.


Os pego el source en bennu que he utilizado.





import "mod_video"
import "mod_curl"
import "mod_say"
import "mod_mouse"
import "mod_text"
import "mod_map"
import "mod_file"
Import "mod_key"
Import "mod_proc"


Global
   int quit = 0;
   string url = "http://api.twitter.com/1/statuses/update.json";
   
   string user = "username:password";    // aqui escribir el username y password..
   string msg_ = "BennuGD post test..";
   string respuesta = "";




Process main()
Private
    int i=0, status=0, curl=0;
    string output;


Begin
    set_mode(320, 480, 16);
   set_fps(30,0);
   
   curl = curl_init();
    if(curl == -1)
        say("Curl initialisation failed, quitting");
        quit = 1;
        return;
    end;
   
   
   curl_setopt(curl, CURLOPT_URL, url);
   curl_setopt(curl, CURLOPT_PORT, 80);
   curl_setopt(curl, CURLOPT_POST, 1);
   curl_setopt(curl, CURLOPT_POSTFIELDS, msg_);
   curl_setopt(curl, CURLOPT_USERPWD, user);
   //curl_exec(curl);
   curl_perform(curl, &status);
   
   while(status == -2)
      frame;
   end
   curl_cleanup(curl);
   
   write(0,160,20,4,"Transfer Completed.");   
   loop
      if(key(_esc))
         exit(0,0);
      end
      frame;
   end
end

Erkosone

Exactamente lo que me sale por consola es esta linea: ("errors":[{"code":53,"message":"Basic authentificacion is not supported"}]}"






Erkosone

Por si a alguien le interesa dar un vistazo a la doc del API de twitter esta aquí:  https://dev.twitter.com/docs
Parece que puede usarse con curl desde bennu, por que a mi me responde con el error en cuestión, haber is alguien sabe hacer el tema del token de login.

josebita

#124
No va a funcionar por ese método. Ese "Basic authentification" es la llamada que haces a http://api.twitter.com/1/statuses/update.json y la única diferencia entre hacerlo a la URL anterior y a ésta es la forma en la que se te devuelve la información.

Como te decía: la autentificación básica -y por tanto el método que intentas- ya no funciona (desde finales de 2010, creo). Las dos únicas formas de hacerlo ahora son:
* OAuth.
* Rellenando los formularios mediante curl tal y como lo harías con el navegador.

Pero la segunda se te romperá casi seguro cada vez que la gente de twitter actualice la web.


[Edito] Aquí explican cómo hacer el cambio:
https://dev.twitter.com/docs/auth/moving-from-basic-auth-to-oauth

Rein (K´)ah Al-Ghul

El plugin de pidgin para twitter no servirian para esto??

Rein (K´)ah Al-Ghul
Infected with the Krieger strain of the Human-MetaHuman Vampiric Virus.

en vez de darme Karma positivo, denme (K´)arma negativ