How can I know when is sunrise at the location of an IP address in Scala?

To determine the sunrise time of an IP address using IP2Location.io in Scala, you can use the IP2Location.io API to retrieve geolocation and related data.

  1. We'll assume that you have already installed an IDE like IntelliJ that supports Scala and we won't cover that here. You will also need a paid subscription to the Plus plan or higher. Subscribe now!
  2. In your IDE, create a new Scala project. Then, add Gson into your project.
  3. Save the below code into a file called Test.scala on your computer.
    Scala
    
    import com.google.gson.*
    import java.net.URI
    import java.net.http.{HttpClient, HttpRequest, HttpResponse}
    
    @main def Test(): Unit = {
      try {
        val key = "YOUR_API_KEY"
        val ip = "8.8.8.8"
    
        val url = "https://api.ip2location.io/?format=json&key=" + key + "&ip=" + ip
        val request = HttpRequest.newBuilder.uri(new URI(url)).GET.build
        val client = HttpClient.newHttpClient
        val response = client.sendAsync(request, HttpResponse.BodyHandlers.ofString).join()
        val statusCode = response.statusCode()
        if (statusCode == 200) {
          val rawJSON = response.body()
          val myObj = JsonParser.parseString(rawJSON).getAsJsonObject
          if (myObj.has("time_zone_info")) {
            System.out.println("The sunrise time for IP " + ip + " is " + myObj.getAsJsonObject("time_zone_info").get("sunrise").getAsString + ".")
          } else {
            throw Exception("ERROR: The sunrise field requires a paid subscription to the Plus plan or higher.")
          }
        } else if (statusCode == 400 || statusCode == 401) {
          val rawJSON = response.body()
          if (rawJSON.contains("error_message")) {
            throw Exception("ERROR: " + JsonParser.parseString(rawJSON).getAsJsonObject.getAsJsonObject("error")
              .get("error_message").getAsString
            )
          }
          throw Exception(rawJSON)
        } else {
          throw Exception(response.body())
        }
      } catch {
        case e: Exception => System.out.println(e)
      }
    }
    			
  4. In the IDE, run the Test.scala file.

This script will output the sunrise time of specified IP address. Make sure to replace 8.8.8.8 with the IP address you want and replace YOUR_API_KEY to your own API key.

Other Languages

Unlock Location Insights For Free

Empower your applications with accurate IP geolocation information now.

Try It for Free