Golang работаем с Cloudmersive api

Через Image API доступны десятки операций обработки изображений с помощью всего одного api ключа Cloudmersive для аутентификации. Можно легко обрезать изображение в заданную область со значениями пикселей в качестве параметров, используя готовый к запуску код на Go (код приведен ниже ).

package main
import (
     "fmt"
     "bytes"
     "mime/multipart"
     "os"
     "path/filepath"
     "io"
     "net/http"
     "io/ioutil"
)
func main() {
url := "https://api.cloudmersive.com/image/edit/crop/circle/%3Cinteger%3E/%3Cinteger%3E/%3Cinteger%3E"
     method := "POST"
payload := &bytes.Buffer{}
     writer := multipart.NewWriter(payload)
     file, errFile1 := os.Open("/path/to/file")
     defer file.Close()
     part1,
         errFile1 := writer.CreateFormFile("imageFile",filepath.Base("/path/to/file"))
     _, errFile1 = io.Copy(part1, file)
     if errFile1 != nil {
          fmt.Println(errFile1)
          return
     }
     err := writer.Close()
     if err != nil {
          fmt.Println(err)
          return
     }
client := &http.Client {
     }
     req, err := http.NewRequest(method, url, payload)
if err != nil {
          fmt.Println(err)
          return
     }
     req.Header.Add("Content-Type", "multipart/form-data")
     req.Header.Add("Apikey", "YOUR-API-KEY-HERE")
req.Header.Set("Content-Type", writer.FormDataContentType())
     res, err := client.Do(req)
     if err != nil {
          fmt.Println(err)
          return
     }
     defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
     if err != nil {
          fmt.Println(err)
          return
     }
     fmt.Println(string(body))
}

Для доступа вам понадобится ключ API, поэтому зайдите на веб-сайт (www.cloudmersive.com) и создайте учетную запись, чтобы получить ключ. Среди вариантов учетной записи вы найдете бесплатный вариант с лимитом 800 вызовов в месяц.

API дает возможность сканировать файлы и содержимое на наличие вирусов.

package main

import (
     "fmt"
     "bytes"
     "mime/multipart"
     "os"
     "path/filepath"
     "io"
     "net/http"
     "io/ioutil"
)

func main() {

     url := "https://api.cloudmersive.com/virus/scan/file"
     method := "POST"

     payload := &bytes.Buffer{}
     writer := multipart.NewWriter(payload)
     file, errFile1 := os.Open("/path/to/file")
     defer file.Close()
     part1,
         errFile1 := writer.CreateFormFile("inputFile",filepath.Base("/path/to/file"))
     _, errFile1 = io.Copy(part1, file)
     if errFile1 != nil {
          fmt.Println(errFile1)
          return
     }
     err := writer.Close()
     if err != nil {
          fmt.Println(err)
          return
     }


     client := &http.Client {
     }
     req, err := http.NewRequest(method, url, payload)

     if err != nil {
          fmt.Println(err)
          return
     }
     req.Header.Add("Content-Type", "multipart/form-data")
     req.Header.Add("Apikey", "YOUR-API-KEY-HERE")

     req.Header.Set("Content-Type", writer.FormDataContentType())
     res, err := client.Do(req)
     if err != nil {
          fmt.Println(err)
          return
     }
     defer res.Body.Close()

     body, err := ioutil.ReadAll(res.Body)
     if err != nil {
          fmt.Println(err)
          return
     }
     fmt.Println(string(body))
}

Выполнение NLP анализ текста
Поддерживает ввод на английском языке. Потребляет 1-2 вызова API на предложение

package main

import (
     "fmt"
     "strings"
     "net/http"
     "io/ioutil"
)

func main() {

     url := "https://api.cloudmersive.com/nlp-v2/analytics/subjectivity"
     method := "POST"

     payload := strings.NewReader("TextToAnalyze=%3Cstring%3E")

     client := &http.Client {
     }
     req, err := http.NewRequest(method, url, payload)

     if err != nil {
          fmt.Println(err)
          return
     }
     req.Header.Add("Content-Type", "application/x-www-form-urlencoded")
     req.Header.Add("Apikey", "YOUR-API-KEY-HERE")

     res, err := client.Do(req)
     if err != nil {
          fmt.Println(err)
          return
     }
     defer res.Body.Close()

     body, err := ioutil.ReadAll(res.Body)
     if err != nil {
          fmt.Println(err)
          return
     }
     fmt.Println(string(body))
}

Рекомендуем изучить полную документацию: https://api.cloudmersive.com/go-client.asp

Ответить