二维码解码
ALAPI 官方文档
解码二维码图片
基本说明:
接口地址:https://v1.alapi.cn/api/qr/decode
返回格式:json
请求方式:get/post
请求示例:https://v1.alapi.cn/api/qr/decode?url=www.free-api.com
请求参数说明:
名称 类型 必填 说明
url string 选填 二维码的网络地址
file file 选填 二维码图片,使用 post 方式上传文件
返回参数说明:
名称 类型 说明
- - -
JSON返回示例:
{
	"code": 200,
	"msg": "success",
	"data": {
		"url": "http://v1.alapi.cn/api/qr?content=https://www.alpi.cn",
		"content": "https://www.alpi.cn"
	},
	"Author": {
		"name": "Alone88",
		"desc": "由Alone88提供的免费API 服务,官方文档:www.alapi.cn"
	}
}
服务级错误码参照
错误码 说明
- -
完整教学代码示例
<?php

/**
 * Created by PhpStorm.
 * User: FZS
 * Time: 2020/02/01 00:16
 */
class freeApi
{
    private $apiUrl;

    public function __construct()
    {
        $this->apiUrl = 'https://v1.alapi.cn/api/qr/decode?url=www.free-api.com';
    }

    /**
     * 获取结果
     * @return array
     */
    public function getResult()
    {
        return file_get_contents($this->apiUrl);
    }
}
package main

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

const (
	APIURL   = "https://v1.alapi.cn/api/qr/decode"
)

func main() {
	queryUrl := fmt.Sprintf("%s?url=www.free-api.com",APIURL)
	resp, err := http.Get(queryUrl)
	if err != nil {
		log.Println(err)
		return
	}

	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)

	if err != nil {
		fmt.Println(err)
		return
	}

	fmt.Println(string(body))
}