将参数发送到网页并验证它们

时间:2015-02-14 20:18:12

标签: java

我有一个java问题,希望能得到一些帮助。 在我的应用程序中,我从网站获得随机验证码图像。用户将验证码字母写入文本区域,然后单击按钮以验证代码。

将代码+从网站收到验证码的日期和时间作为参数添加到网站。如果代码正确,网站写“真”,否则写“假”。

我的问题是网站总是写“假”,即使代码是正确的。

我甚至不知道我是否有正确的方法? 至少我知道网址是正确的(格式为:http://xxxxxx.php?code=ddd&date=Sat%2C+14+Feb+2015+21%3A14%3A20

编辑: 我不需要验证代码,只需将其发送到网页,网页就会自动对其进行验证。我所要做的就是将参数(code + formatteddate)发送到网页。 有什么建议吗?

在测试课程中:

public void validateURL() throws IOException {             
        String code = textArea.getText();           //Get code from textArea
        String validation = myCaptcha.validateCode(code);  //Call to method validateCode();
        switch (validation) {
            case "true":
                JOptionPane.showMessageDialog (null, "Right code");
                break;
            case "false":
                JOptionPane.showMessageDialog (null, "wrong code");               
                break;
        }
    }

在Capthca课程中:

public String validateCode(String code) throws IOException {             
        String link = "http://xxxxxxx.php?"+"code="+code+"&date="+formattedDate;
        URL url = new URL(link);        
        URLConnection connection = url.openConnection();
        //connection.setRequestProperty("Accept-Charset", "UTF-8");
        //connection.setDoInput(true);
        //connection.connect();

        BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
        StringBuilder sb = new StringBuilder();
        String text = br.readLine();
        while (text != null) 
        {
            sb.append(text);
            text = br.readLine();
        }
        br.close();
        connection.getInputStream().close();

        return sb.toString();
   }

0 个答案:

没有答案