Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - lnvisible

#81
Hace mucho que uso vim, estaba buscando un editor de texto plano para debian que:
- coloree el código.
- permita buscar con expresiones regulares y reemplazar, usando lo que ha encajado en las subexpresiones para escribirlo en lo que se reemplaza, como en notepad++ () -> \#
- tenga pestañas

Algo parecido a notepad++, o a vim, pero más cómodo que vim, si no lo hay seguiré usando vim, pero antes quería preguntar por si me estaba perdiendo algo. :P

GRacias!!
#82
PHP / Re: [Reto][PHP] Bot http
24 Enero 2012, 20:10 PM
Puedes hacer click en las funciones que no conozcas y te lleva directamente a la documentación. :D
#83
Software / Compartir carpetas
24 Enero 2012, 20:08 PM
¿Recordáis la opción de compartir carpetas de messenger?

Estoy buscando algo que sea igual, quiero compartir carpetas, como en dropbox, pero:
1. No quiero que vaya a un servidor.
2. No quiero tener limitaciones de espacio.
3. Quiero poder apagar el ordenador y que siga por donde iba, como en cualquier P2P o F2F.

Para windows y linux.

¿No se pregunta aquí?, ¿dónde debería preguntar?

GRacias!!
#84
Sí, pero muchas cosas las programo para el futuro, como el bot http que hice tengo ya programado que acepte gzip y mi versión de python en debian todavía no lo acepta, ::) pero prefiero programarlo una vez y que funcione dentro de un tiempo a programarlo una vez y que dentro de un tiempo deje de funcionar o tener que programarlo dos veces, porque hay muchas cosas que quiero hacer y el tiempo que tengo para todos estos proyectos es muy poco, si programo las cosas dos veces puedo programar la mitad de cosas. :X

Me miraré django, grok u otro framework dependiendo de quien tome el liderazgo en la versión 3. :¬¬

También quiero mirar clojure y otras muchas cosas, pero es que no hay tiempo. :-\

Y tengo una duda acerca de funciones de postgres que tomen como entrada de parámetros la salida de un select con un group by (es decir, en cada invocación la entrada debería ser un grupo generado con el group by) que ni pregunto porque no espero obtener respuestas y no tengo tiempo para entrar en explicaciones. :rolleyes:

Estoy a muchas cosas a la vez, no me subestiméis... :P
#85
Estaba buscando por python, no por django, pero va a ser más fácil con django :D :

http://agiliq.com/blog/2009/08/django-socialauth-login-via-twitter-facebook-openi/

Haber si pasan django a python3 de una vez, :-\ estoy un poco cansada de ver librerías muy buenas que no pasan a la versión 3, no sé a qué esperan... :¬¬
#86
PHP / Re: [Reto] Bot en PHP
21 Enero 2012, 20:08 PM
El problema está en que algunos no sólo no se dan cuenta de que tal vez están realizando asunciones acerca de lo que se está diciendo y que no están entendiendo el mensaje, sino que se atreven a decir que eso que no entienden es un error conceptual de otra persona.

Como el error conceptual por el que al no haber programado nunca en javascript sé menos que ellos.

Seguramente Fernando Alonso no haya conducido nunca un volvo, pero ¿qué duda cabe de que si lo condujera lo haría mucho mejor que gente que lo lleva conduciendo toda su vida?

El reto del bot en php continua aquí: http://foro.elhacker.net/php/retophp_bot_http-t348525.0.html;msg1699454#msg1699454

Mientras alguien responda yo seguiré respondiéndolo y mejorándolo. Pero la verdad, ya no me espero nada de esta comunidad, estoy bastante decepcionada. Es una pena, porque los que sí saben como madpitbull_99 seguramente no tengan tiempo, como yo misma, y los que tienen tiempo no tienen ni idea, como podemos ver a tantos aquí.

La idea es hacerlo con pequeñas contribuciones, para que quite poco tiempo a cada uno, como la que ya he hecho de ejemplo.
#87
PHP / Re: php avanzado
27 Diciembre 2011, 03:29 AM
Cita de: ~ Yoya ~ en 26 Diciembre 2011, 20:33 PMPara la comunicación entre el cliente y servidor, puedes usar sockets, CURL, etc... Para parsear los datos, te recomiendo usar Expresiones Regulares, ya que es muy completo para parsear datos.

El problema de las expresiones regulares es que el orden de los atributos en una etiqueta puede cambiar o algún detalle parecido y dejar de valer, por eso es mejor usar DOM, y después, si hace falta, ER.

Además con DOM se controla mejor el contexto de la ER que estamos encajando, nos pueden interesar sólo los encajes de la ER que se producen en un determinado contexto. Eso sólo es posible con DOM o con una gramática como la que podríamos hacer con antlr (pero mejor DOM).

De todas formas, evidentemente, no quiere consejos para hacer bots, sino cosas avanzadas. Como esto: http://www.4clojure.com/problem/127
#88
PHP / Re: [Reto][PHP] Bot http
27 Diciembre 2011, 03:28 AM
Muy bien, pero en ocasiones los links pueden no ser absolutos sino relativos y aparecer sin http. Añado una función para recoger los links (absolutos y relativos) pero sólo cuando son enlaces a otras páginas, no los que son a imágenes ni otras cosas.

A ver si más gente se anima  :D

Código (php) [Seleccionar]

class PHPBot {

   function PHPBot (){
     $this->ch = curl_init();
     $ch = $this->ch;
     curl_setopt($ch, CURLOPT_HEADER, 1); // Include headers in response or not
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return (don't print) answer of exec
     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12");
     curl_setopt($ch, CURLOPT_AUTOREFERER, true); // Isn't this great?
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: */*', 'Accept-Language: en-us,en;q=0.5', 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7'));      
   }

   private function act($url, $params = false){
     $ch = $this->ch;
     curl_setopt($ch, CURLOPT_URL, $url);
     if ($params != false){
       curl_setopt($ch, CURLOPT_POSTFIELDS, $this->myurlencode($params));
       curl_setopt($ch, CURLOPT_POST, 1);
     }
     else
       curl_setopt($ch, CURLOPT_POST, 0);
     $r = curl_exec($ch);
     return $r;
   }

   private function myurlencode($dict){
     $r = "";
     foreach($dict as $key => $value)
       $r = $r.urlencode($key).'='.urlencode($value).'&';
     return $r;
   }

   private function get_urls($context){
$query = '/http?\:\/\/[^\" ]+/i';
preg_match_all($query,$context,$result);
return $result[0];
   }

    function getLinks ($url){
      $dom = new DOMDocument();
      $p = $this->act($url);
      $dom->loadHTML(mb_convert_encoding($p, 'utf-8'));
      $links = $dom->getElementsByTagName('a');
      foreach($links as $l)
        $r[] = $l->getAttribute('href');
      return $r;
    }


   function get ($url){
     return $this->act($url);
   }

   function post($url, $params){
     return $this->act($url, $params);
   }

 }

#89
Fue así:

#90
PHP / [Reto][PHP] Bot http
25 Diciembre 2011, 14:45 PM
Hay un tipo de retos incrementales que son más productivos que los retos habituales.

http://en.wikipedia.org/wiki/Cutting_contest
http://en.wikipedia.org/wiki/Guitar_battle

Esto es un reto a ese estilo, consiste en ir añadiendo algo al bot para hacerlo más parecido a una persona en la navegación (con cookies, con referer, con todo eso), además para que sea más fácil indicarle los parámetros que tiene que rellenar (por ejemplo muchos formularios tienen campos hidden, podría rellenarlos él mismo), para que sea más fácil parsear el html después, para que sea más fácil usar proxies... el límite lo pone vuestra imaginación.

Creo que puede ser un reto interesante, entretenido, productivo y del que todos saquemos el divertirnos, un código interesante y aprender y hacer algo útil. Vosotros diréis.

Aquí tenéis un ejemplo de cómo podría empezarse, veremos si alguien continua o no, en unos días pondré una mejora si nadie se anima, y con eso espero que ya sí se anime alguien.

Código (php) [Seleccionar]
class PHPBot {

   function PHPBot (){
     $this->ch = curl_init();
     $ch = $this->ch;
     curl_setopt($ch, CURLOPT_HEADER, 1); // Include headers in response or not
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return (don't print) answer of exec
     curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.0.12) Gecko/2009070611 Firefox/3.0.12");
     curl_setopt($ch, CURLOPT_AUTOREFERER, true); // Isn't this great?
     curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: */*', 'Accept-Language: en-us,en;q=0.5', 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7'));      
   }
   
   private function act($url, $params = false){
     $ch = $this->ch;
     curl_setopt($ch, CURLOPT_URL, $url);
     if ($params != false){
       curl_setopt($ch, CURLOPT_POSTFIELDS, $this->myurlencode($params));
       curl_setopt($ch, CURLOPT_POST, 1);
     }
     else
       curl_setopt($ch, CURLOPT_POST, 0);
     $r = curl_exec($ch);
     return $r;
   }
   
   private function myurlencode($dict){
     $r = "";
     foreach($dict as $key => $value)
       $r = $r.urlencode($key).'='.urlencode($value).'&';
     return $r;
   }
   
   function get ($url){
     return $this->act($url);
   }
   
   function post($url, $params){
     return $this->act($url, $params);
   }

 }