Javafree
Página Inicial do Fórum > JSP / Servlets

Variavel é exibida com espaço que não existe



Criar novo tópico   Responder tópico


  1. julio.gomes
    Posts:5


    Comment Arrow

    Publicado em: 05/05/2015 15:03:44

    Pessoal tenho uma variável String chamada url com o valor http://www.google.com/recaptcha/api/verify porem quando eu exibo esta variável, aparece um espaço entre o http: e o // já tentei remover com o trim mas não funcionou. Isso está gerando erro na minha aplicação, alguem sabe o porque acontece e como se resolve? Segue exemplo.

    Valor da variavel http://www.google.com/recaptcha/api/verify

    Valor exibido http: //www.google.com/recaptcha/api/verify?
    _________________

    Eu mesmo



  1. staroski
    Posts:4600


    Comment Arrow

    Publicado em: 05/05/2015 15:21:44

    Posta o fonte
    Esse valor com espaço é exibido onde?
    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    http://www.staroski.com.br

    Acesse http://www.guj.com.br/



  1. julio.gomes
    Posts:5


    Comment Arrow

    Publicado em: 05/05/2015 15:24:22

    [quote="staroski"]Posta o fonte
    Esse valor com espaço é exibido onde?



    É exibido no browser e também está como valor da variável, segue o fonte.

    <%@page import="java.util.*"%>
    <%@page import="java.io.BufferedReader"%>;
    <%@page import="java.io.BufferedWriter"%>;
    <%@page import="java.io.File"%>;
    <%@page import="java.io.FileWriter"%>;
    <%@page import="java.io.IOException"%>;
    <%@page import="java.io.InputStreamReader"%>;
    <%@page import="java.net.MalformedURLException"%>;
    <%@page import="java.net.URL"%>;
    <%@page import="java.net.URLConnection"%>;
    <%@ page trimDirectiveWhitespaces="true" %>

    <%
    String ip = request.getRemoteAddr();

    String sitekey = "xxxxxxxxx";

    String secret = "xxxxxxxxx";

    String url= new String("http://www.google.com";

    String querystring = new String("/recaptcha/api/verify?privatekey="+secret+"&challenge="+request.getParameter("recaptcha_challenge_field"+"&remoteip="+ip+"&response="+request.getParameter("recaptcha_response_field");

    String urlfull = new String(url+querystring);

    out.println(urlfull);

    // /* try{

    // out.println(urlfull);

    // URL google = new URL(urlfull);
    // URLConnection conn = google.openConnection();

    // BufferedReader br = new BufferedReader(
    // new InputStreamReader(conn.getInputStream()));

    // String inputline;

    // while ((inputline = br.readLine()) != null){
    // System.out.println(inputline);

    // }

    // br.close();
    // out.println("TESTE";

    // Enumeration<String> paramNames = request.getParameterNames();

    // out.println("<br> Challenge Filed: "+request.getParameter("recaptcha_challenge_field");
    // out.println("<br> Response field: "+request.getParameter("recaptcha_response_field");
    // out.println("<br> Login: "+request.getParameter("login");
    // out.println("<br> Senha: "+request.getParameter("password");
    // }catch(Exception e){

    // out.println(urlfull);
    // out.println(e.getMessage());
    // } */

    %>
    _________________

    Eu mesmo



  1. staroski
    Posts:4600


    Comment Arrow

    Publicado em: 05/05/2015 19:41:37

    Estranho, teria que depurar o código pra ver
    A única coisa fora do comum no seu fonte, é instanciar String com new
    Tenta alocar suas String sem usar o contrutor dela
    Tipo

    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    http://www.staroski.com.br

    Acesse http://www.guj.com.br/



  1. julio.gomes
    Posts:5


    Comment Arrow

    Publicado em: 05/05/2015 20:19:07

    [quote="staroski"]Estranho, teria que depurar o código pra ver
    A única coisa fora do comum no seu fonte, é instanciar String com new
    Tenta alocar suas String sem usar o contrutor dela
    Tipo



    Starosk eu havia feito dessa forma no inicio e o problema persistia, na verdade eu mudei para esta forma, justamente pensando que iria resolver o problema mas me enganei.

    _________________

    Eu mesmo



  1. julio.gomes
    Posts:5


    Comment Arrow

    Publicado em: 06/05/2015 01:05:50

    [quote="julio.gomes"]Pessoal tenho uma variável String chamada url com o valor http://www.google.com/recaptcha/api/verify porem quando eu exibo esta variável, aparece um espaço entre o http: e o // já tentei remover com o trim mas não funcionou. Isso está gerando erro na minha aplicação, alguem sabe o porque acontece e como se resolve? Segue exemplo.

    Valor da variavel http://www.google.com/recaptcha/api/verify

    Valor exibido http: //www.google.com/recaptcha/api/verify?



    Pessoal não consegui resolver então mudei a maneira de fazer, porem agora está ocorrendo outro erro.
    Tente usar a classe new ULR mas está aparecendo o seguinte erro, pelo que achei no google este erro ocorre porque só é permitido fazer isso para um servlet e não para acessar uma pagina diretamente.
    Segue o codigo:


    <%@ page import="net.tanesha.recaptcha.ReCaptchaImpl"%>
    <%@ page import="net.tanesha.recaptcha.ReCaptchaResponse"%>
    <%
    String secret = "xxxxxxx";
    String remoteAddr = request.getRemoteAddr();
    ReCaptchaImpl reCaptcha = new ReCaptchaImpl();
    reCaptcha.setPrivateKey(secret);

    String challenge = request
    .getParameter("recaptcha_challenge_field";
    String uresponse = request.getParameter("recaptcha_response_field";
    ReCaptchaResponse reCaptchaResponse = reCaptcha.checkAnswer(
    remoteAddr, challenge, uresponse);

    if (reCaptchaResponse.isValid()) {
    String user = request.getParameter("user";
    out.print("Validação efetuada com sucesso para o usuario "+user);

    URL u = new URL("https://goco.com.br/login";
    URLConnection uc = u.openConnection();
    uc.setDoOutput(true);
    uc.setRequestProperty("Content-Type","application/x-www-form-urlencoded";

    // add the query string
    // For example: String query = "apikey=APIKEY&member=joe&pw=secret";
    String query = "username=teste&password=teste";
    PrintWriter pw = new PrintWriter(uc.getOutputStream());
    pw.println(query);
    pw.close();

    // get the input from the request
    BufferedReader in = new BufferedReader(
    new InputStreamReader(uc.getInputStream()));
    String res = in.readLine();
    in.close();

    } else {
    out.print("Erro de validação volta para pagina de login";
    }
    %>

    _________________

    Eu mesmo



  1. Relacionados