美文网首页人生代码
简单的几句接口调用,完美完成缩短网站

简单的几句接口调用,完美完成缩短网站

作者: haoning77888 | 来源:发表于2019-10-10 16:51 被阅读0次

短网址有时候确实是非常刚需的一个需求,网上这类网站是很多的,但是有时候想调用接口来缩短网址,很多这类网站却没有提供。网上常用的接口比如新浪的短网址接口,小葱计算的短网址接口,其实都很好用,现在以小葱计算的短网址接口为例,用nodejs来展示如何使用:

var http = require('http'); 
var qs = require('querystring'); 

//配置您申请的appKey和openId
app_key = "***";
open_id = "***";
 
function request_content(request_url,port,params,method){
    
    var path=request_url;
    if(!!params){
        var content = qs.stringify(params);  
        path=request_url+'?' + content;
    }
    
    var options = { 
        port: port,
        path: path,
        method: method
    }; 
    
    if(method.toLowerCase()=='post'){
        options['headers']="Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8";
    }

    var req = http.request(options, function (res) { 
        res.setEncoding('utf8'); 
        res.on('data', function (chunk) { 
            console.log(chunk); 
        }); 
    });  
    
    req.on('error', function (e) { 
        console.log('problem with request: ' + e.message); 
    }); 
    
    req.end();
}

function main(){

    var domain="http://api.xiaocongjisuan.com/";
    var port=8080;//http对应80端口,https 对应443端口,请使用者自己改正
    var servlet="life/shorturl/get";
    var method="get";
    var request_url=domain+servlet;

    var params = {}; 
    params['appKey']=app_key;
    params['openId']=open_id;
    
    //变动部分
    params["url"]="https://www.baidu.com/";
    
    request_content(request_url,port,params,method);
}

main();

当然go语言的实现方式也挺简单的,如下:

package main

import (
    "io/ioutil"
    "net/http"
    "net/url"
    "fmt"
    "strings"
)
 
//配置您申请的appKey和openId
const APP_KEY ="yours";
const OPEN_ID ="yours";

func requestContent(requestUrl string,params url.Values,method string)(rs[]byte ,err error){
    
    if strings.ToUpper(method)=="GET"{
        return get(requestUrl,params)
    }
    return post(requestUrl,params)
}

// get 网络请求
func get(requestUrl string,params url.Values)(rs[]byte ,err error){
    var Url *url.URL
    Url,err=url.Parse(requestUrl)
    if err!=nil{
        fmt.Printf("解析url错误:\r\n%v",err)
        return nil,err
    }
    //如果参数中有中文参数,这个方法会进行URLEncode
    Url.RawQuery=params.Encode()
    resp,err:=http.Get(Url.String())
    if err!=nil{
        fmt.Println("err:",err)
        return nil,err
    }
    defer resp.Body.Close()
    return ioutil.ReadAll(resp.Body)
}
 
// post 网络请求 ,params 是url.Values类型
func post(requestUrl string, params url.Values)(rs[]byte,err error){
    resp,err:=http.PostForm(requestUrl, params)
    if err!=nil{
        return nil ,err
    }
    defer resp.Body.Close()
    return ioutil.ReadAll(resp.Body)
}

func main(){

    domain :="http://api.xiaocongjisuan.com/"

    servlet :="life/shorturl/get"
    method :="get"
    requestUrl:=domain+servlet
    
    //初始化参数
    params:=url.Values{}
    
    params.Set("appKey",APP_KEY)
    params.Set("openId",OPEN_ID)
    
    //变动部分
    params.Set("url","https://www.baidu.com/")
 
 
    //发送请求
    data,err:=requestContent(requestUrl,params,method)
    fmt.Println(string(data))
    if err!=nil{
        fmt.Printf("解析url错误:\r\n%v",err)
    }
}   

调用api实现,没有太大的技术复杂度,感谢阅读。

相关文章

  • 简单的几句接口调用,完美完成缩短网站

    短网址有时候确实是非常刚需的一个需求,网上这类网站是很多的,但是有时候想调用接口来缩短网址,很多这类网站却没有提供...

  • 【CSDN博客迁移】支付宝——手机网站支付接口研究

    一 API版本说明 下面是官网的说明: 做个简单说明: API1.0接口主要用于网站(包括手机端的网站)的调用;A...

  • PHP-第一个接口

    目前值在一个php文件中执行的 1.定义类 2.定义简单的接口 3.网站调用调用说明:请求就直接 http://页...

  • 接口测试

    一、什么是接口测试? 接口可以分下面几种 1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,...

  • 用python怎样实现接口测试

    一、什么是接口测试? 接口可以分下面几种 1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,...

  • 微服务架构(四)注册中心的主要功能

    注册中心api 服务注册接口: 提供者调用此完成服务的注册 服务注销接口: 提供者调用此完成服务的注销 心跳汇报:...

  • 接口测试分类

    1、系统与系统之间的调用,比如银行会提供接口供电子商务网站调用,或者说,支付宝会提供接口给淘宝调用 2、上层服务对...

  • OC 中异步顺序加载用法

    实际开发过程中,有可能会用到顺序加载异步的需求,比如先掉A接口,直到A接口调用完成,在调用B接口,以此类推C接口....

  • Python 百度AI接口调用

    接口调用准备 1.进入网站:https://console.bce.baidu.com/?_=1535519624...

  • Java自带keytool生成证书

    当https的网站调用http的后台接口时,必须让后台的接口也是变成https的,否则前端报错.要使用keyt...

网友评论

    本文标题:简单的几句接口调用,完美完成缩短网站

    本文链接:https://www.haomeiwen.com/subject/pujapctx.html