Jump to content
  • 0

Question

Posted (edited)
private boolean isVotedInSite(String ip, VoteSite site)
    {
        try
        {
            // Make URL with vote site link with player IP address
            final URL url = new URL(site.getLink(ip));
            // Open connection
            final HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
            // Set User-Agent
            httpURLConnection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36");
            // Get response code and if everything is OK try to get answer
            final int response = httpURLConnection.getResponseCode();
            if (response == HTTP_OK)
            {
                // Get input stream from vote sites
                try (BufferedReader br = new BufferedReader(new InputStreamReader(httpURLConnection.getInputStream())))
                {
                    // Get answer from vote site which returns true/false
                    switch (site)
                    {
                        case L2HOPZONE:
                            return br.readLine().contains("true");
                        case L2TOPZONE:
                            return br.readLine().equals("TRUE");
                        case L2NETWORK:
                            return br.readLine().equals("1");
                        case L2TOP:
                            return br.readLine().equals("TRUE");
                        case L2BR:
                            return br.readLine().equals("1");    (if is correct or request correct read)
                    }
                }
            }

exampe of check is

 

https://top.l2jbrasil.com/votesystem/index.php?username=l2br&ip=0.0.0.0

 

have to get check of status. there is 1 (then player not voted is 0)

 

<votes><vote>

<site_id>id</site_id>

<ip>xxx.xx.xx.xx</ip>

<date>2017-04-24 19:34:07</date>

<status>1</status>

</vote></votes>

Edited by Crytek

3 answers to this question

Recommended Posts

  • 0
Posted (edited)

Try change to 

return br.readLine().equals("<status>1</status>");

or

return br.readLine().contains("<status>1</status>");

The return is a simple xml, may you can read it using DOM XML Parser

 

e.g.

doc.getElementsByTagName("status").item(0).getTextContent();
Edited by Grundor
  • 0
Posted

Optionally you can change the way you call.

 

 

By node: 

 

Or change to json output: 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...