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 - PabloPbl

#1
Gracias amigos por las respuestas.

Después de pensarlo un buen rato, me decante por usar una API de terceros de pago la cual me pueda brindar un cambio de IP por cada peticion que se hace desde el servidor, o que se encargue de evitar los Rate Limit de Binance.

El problema es que no he logrado encontrar una, o no he sabido buscarla.

Probe con las siguientes frases en Google pero no logro dar con ningun servicio que me de esas opciones para cambiar IP por cada petición y asi evitar los rate limit.

Binance without rate limit
Binance Api price
increase api Binance limit
3rd party binance api

Probe con infinidad de palabras de ese estilo pero no se como buscar el servicio que me comentan.

Que servicio me recomendarian usar? o como lo buscarían en Google?

No necesariamente tiene que ser de Binance el servicio, si no una que me funcione como intermediario para hacer las peticiones, GET, POST, PUT y DELETE. y que por cada peticion que se lance, con la api key que me de el servicio, este cambie su IP. No importa si es de pago.

Muchas gracias amigos por las respuestas.

Saludos.
#2
Buenas estoy haciendo un sistema en el cual necesito consumir la API de Binance atravez PHP.

El sistema va a ser usado por varias personas y el problema es que Binance tiene un limite de peticiones hechas atreves de una misma IP. Por lo que se me ocurrió hacer que esas consultas a la API de Binance, se hagan del lado del cliente y no del servidor.

Se hace toda la lógica previamente desde PHP y el cliente solo hara las peticiones correspondientes a Binance desde el navegador.

Pero surge otro problema que no se como resolverlo, en el cual es que a la hora de mandar las consultas al cliente desde el servidor, este recibirá también las Api Key y Secrey Key de Binance, por lo que podrá cambiarlas y así burlar la seguridad del sistema del lado del cliente.

Hay alguna forma de que esto se pueda evitar?

Lo único que se me ocurrió es hacerlo desde el lado del servidor, pero con ese problema de que todas las peticiones se hacen de una misma IP y con el riesgo de que la puedan banear.


Ahora me pregunto, como hacen todas esas Apps, para manejar miles y miles de usuarios simultáneos desde un mismo servidor, sin riesgo de ban?

Por ejemplo:
cryptohopper
bitsgap

Otra forma que se me ocurrió es cifrar las info que va a ser consumida desde el cliente. Pero lo descarte por que la desencriptación debe hacerse del lado del cliente de todas formas y en algún lugar debo guardar la llave. Cosa que alguien fácilmente puede ver el script generado de JS y obtener la llave.

Gracias desde ya.
#3
Cita de: Machacador en 21 Octubre 2020, 02:40 AM
Conectate con un cable...

:rolleyes: :o :rolleyes:
Si lo pensé el tema que están todos ocupados   :-(
Y para comprar adaptadores o switches, quería ver primero si no hay alguna alternativa
#4
Cita de: EdePC en 21 Octubre 2020, 01:56 AM
Saludos,

- Si estás utilizando Google Chrome puedes decirle que te guarde la contraseña y si además tienes marcada la opción de Iniciar sesión automáticamente en el mismo Chrome, ya lo lo tendrías solucionado, al menos con mi TP-Link funciona así, sin embargo he visto que algunas veces no hace el inicio de sesión automático dependiendo del Router, pero de todas maneras la contraseña la almacena y se puede iniciar sesión con un click.

Yo me refería a conectarme al router como si estuviera conectandome a una red protegida por contraseña. No entrar a la configuración del router.
La contra si la tengo guardada en Chrome, pero me gustaría saber si hay alguna configuración adecuada para lo que busco.
#5
Cita de: Daniel 🇦🇷 en 21 Octubre 2020, 01:51 AM
Hola, primera vez que leo que alguien desea conectarse a su router sin que le pida contraseña.
Justamente los routers tienen que tener contraseña por seguridad para que no haya accesos no autorizados.

Lo que querés hacer es como los ciber café o los bares que hay WiFi de libre acceso si clave, pero si vos haces eso pueden pasar varias cosas:

1. Te pueden usar tu internet/ancho de banda.
2. Dejas tanto tú internet como tu PC en total riesgo de infección y/o hackeo.
3. Robo de datos.
4. Pueden usar tu internet para fines maliciosos y dejarán rastros de tuyos.


Saludos

Si claro, pero obviamente quiero que el router tenga una contraseña para conectarse. Pero como comparto el router con mis vecinos, ellos aveces cambian la clave varias veces sin avisar y me quedo sin internet, entonces me gustaria configurar el router para que no tenga que volver a ingresar la clave cada vez. Osea solo yo y mi vecino que pagamos el internet, lo que no quiero es dejar el router sin clave para que todo el mundo se conecte.
#6
Buenas, tengo un router TP-LINK y lo que quiero lograr es que mi PC se conecte al mismo, así cambie la contraseña nuevamente.

Intente agregando mi dirección Mac al router y funciona. Pero el problema viene cuando cambio la contraseña, me tengo que volver a autenticar en el router.

En simples palabras lo que quiero lograr es, que nunca me pida contraseña para conectarme a mi router, así la cambie mil veces.

Hay alguna forma de configurar esto en un router TP-LINK?

gracias desde ya.
#7
Hola buenas, estoy intentando obtener un JSON desde PHP, que me devuelve el resultado de una consulta (SELECT) de una base de datos.

Estoy usando GSON, para convertir el JSON obtenido a un objeto en Java.

Mi problema esta en que no me deja crear los objeto y me devuelve un Excepción.
Nose si lo que me devuelve PHP me devuelve en un formato correcto para poder ser interpretado en GSON.

Lo que si al momento de ver el JSON en consola para ver lo que me devuelve, me pone una especie de punto al inicio y otro al final, cosa que si se los saco anda perfectamente, pero me gustaría saber cual puede ser el error y que puedo estar haciendo mal.

MI PHP es el siguiente:
Código (php) [Seleccionar]

<?php
$servidor
="localhost";
$nombre_bd="test2";
$username="root";
$password="";

$conexion mysql_connect($servidor$username$password) or die ("No se ha podido conectar al servidor de Base de datos");

  
mysql_select_db($nombre_bd$conexion) or die ("xD");

$sql "SELECT * FROM usuario";

$result mysql_query($sql$conexion);

$array = array();

$i 0;

while(
$row mysql_fetch_array($result)) {
  
$array[$i] = $row;
  
$i ++;
}

$json json_encode($arrayJSON_FORCE_OBJECT);
echo 
$json;
?>



El Java de donde hago la petición:
Código (java) [Seleccionar]

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package prueba.comsumir.webservice;

import com.google.gson.Gson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

/**
*
* @author Pablo
*/
public class PruebaComsumirWebservice {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        Usuario usuario = new Usuario(1, "User1", "123");
        System.out.println(usuario.toString());
        URL url;
        try {
            // Creando un objeto URL
            url = new URL("http://localhost:8080/Sitio%201/code.php");

            // Realizando la petición GET
            URLConnection con = url.openConnection();

            // Leyendo el resultado
            BufferedReader in = new BufferedReader(new InputStreamReader(
                    con.getInputStream()));

            String linea;
            String json = "";
            while ((linea = in.readLine()) != null) {
                System.out.println(linea);
                json += linea;
            }
            //{"id":1,"usuario":"usuario1","contrasenia":"asd"}
            Usuario usuario1 = new Gson().fromJson(json, Usuario.class);
            System.out.println(usuario.getUsuario());
           
        } catch (IOException e) {
            System.out.println(e.getMessage());
        }
    }
   


Y la clase Usuario:
Código (java) [Seleccionar]

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package prueba.comsumir.webservice;

/**
*
* @author Pablo
*/
public class Usuario {
    private int id;
    private String usuario;
    private String contrasenia;

    public Usuario(int id, String usuario, String contrasenia) {
        this.id = id;
        this.usuario = usuario;
        this.contrasenia = contrasenia;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public String getContrasenia() {
        return contrasenia;
    }

    public void setContrasenia(String contrasenia) {
        this.contrasenia = contrasenia;
    }

    @Override
    public String toString() {
        return String.format("id:%s, usuario:%s, contrasenia:%s", id, usuario, contrasenia);
    }
}



Cuando ejecuto el código desde Netbeans, me devuelve el siguiente JSON: y me da la siguiente Excepción:

{"0":{"0":"1","id":"1","1":"user1","usuario":"user1","2":"asd","contrasenia":"asd"},"1":{"0":"2","id":"2","1":"user2","usuario":"user2","2":"dsa","contrasenia":"dsa"}}
Exception in thread "main" com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 169 path $
   at com.google.gson.Gson.assertFullConsumption(Gson.java:855)
   at com.google.gson.Gson.fromJson(Gson.java:845)
   at com.google.gson.Gson.fromJson(Gson.java:793)
   at com.google.gson.Gson.fromJson(Gson.java:765)
   at prueba.comsumir.webservice.PruebaComsumirWebservice.main(PruebaComsumirWebservice.java:48)
Caused by: com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 169 path $
   at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1567)
   at com.google.gson.stream.JsonReader.checkLenient(JsonReader.java:1416)
   at com.google.gson.stream.JsonReader.doPeek(JsonReader.java:546)
   at com.google.gson.stream.JsonReader.peek(JsonReader.java:429)
   at com.google.gson.Gson.assertFullConsumption(Gson.java:851)
   ... 4 more
C:\Users\Pablo\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
BUILD FAILED (total time: 1 second)


Un saludo y gracias desde ya.
#8
Hola buenos llevo rato haciendo un ejercicio de Haskell que no puedo lograr hacerlo.
En si el ejercicio creo que esta perfecto, pero Haskell no me lo toma y me da error.

Esto es lo que llevo:
Código (java) [Seleccionar]

pesoLiviano altura = max(0, (altura*100)-300)
pesoPesado altura = min(300, altura*100)

pesoPino altura  = (pesoPesado altura + pesoLiviano altura) * 3

esPesoUtil peso = peso >= 400 && peso <= 1000

sirvePino  = esPesoUtil.pesoPino


La lógica del codigo se que esta bien, en otros lenguajes lo hice bien, pero acá parece un error de sintaxis o algo asi:

pesoPino altura  = (pesoPesado altura + pesoLiviano altura) * 3

El error creo que esta cuando llamo al mismo parametro dentro de la funcion 2 veces, nose si sea eso:



Y este es el erro que me da:


Non type-variable argument
      in the constraint: Num ((t, t) -> (t, t))
    (Use FlexibleContexts to permit this)
    When checking that 'pesoPino' has the inferred type
      pesoPino :: forall t t1.
                  (Num t, Num t1, Num ((t, t1) -> (t, t1)), Ord t, Ord t1) =>
                  t1 -> (t, t1) -> (t, t1)
#9
Java / Re: ayuda con JOptionPane
5 Diciembre 2017, 18:39 PM
Prueba pasandole el componente padre(La ventana) en lugar del null, al primer parámetro de esta instrucción, así:

Código (java) [Seleccionar]
JOptionPane.showMessageDialog(frameParent, "Usuario o Password incorrecto");
#10
Java / Re: Vincular JFrame con JPanel
3 Diciembre 2017, 05:29 AM
Vos ¿queres hacer que cuando se apreté un boton(JMenuItem) del JFrame, se muestre un JPanel?
Pues si es así, deberías iniciarlo en oculto:

panel.setVisiblre(false);

luego cuando se aprete en el boton del JMenuBar, lo haces visible, pasando true a la misma instrucción de arriba.

Pero siempre y cuando este agregado al JFrame:
frame.add(panel);

Si no te funciona eso, deberías fijarte que Layout estas usando en tu JFrame, si es null, deberás poner las coordenadas y el tamaño manualmente para que se visualice correctamente.

Si no estaría bueno ver tu código así es mas fácil, si no esto es como jugar a pegarle al blanco con ojos vendados.

Saludos!