Skip to content

urlquery/urlquery-api-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 Cannot retrieve latest commit at this time.

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

urlquery-api-go

Go implementation of the public REST API for http://urlquery.net

https://urlquery.net/doc/api/public/v1

Get a APIKEY by creating a account at: https://urlquery.net/user/signup

Usage example

package main

import (
	"flag"
	"fmt"
	"log"
	"os"
	"time"
	"github.com/urlquery/urlquery-api-go"
)

// Command-line arguments
var key = flag.String("apikey", "", "urlquery API key")
var url = flag.String("submit", "", "submit url")

func main() {
	flag.Parse()

	if *url == "" || *key == "" {
		flag.PrintDefaults()
		fmt.Println("\nPlease provide a APIKEY and URL to submit")
		os.Exit(0)
	}
	urlquery.SetDefaultKey(*key)

	submission := urlquery.SubmitJob{
		Url:    *url,
		Access: "public", // public, restricted, private
	}

	queue, err := urlquery.Submit(submission)
	if err != nil {
		log.Fatal("submission failed:", err)
	}

	// status -> queued, processing, done, failed
	for queue.Status != "done" && queue.Status != "failed" {
		time.Sleep(3 * time.Second)
		queue, err = urlquery.GetQueueStatus(queue.QueueID)
		if err != nil {
			panic(err)
		}

		fmt.Printf("\rStatus: %s", queue.Status)
	}

	if queue.Status == "done" {
		report, _ := urlquery.GetReport(queue.ReportID)
		fmt.Println(report.String())
		fmt.Println("\nReport at: https://urlquery.net/report/" + report.ID)

	}

	if queue.Status == "failed" {
		fmt.Println("Processing URL failed!")
	}

}

About

Go implementation of the public REST API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages