C1N短链接 - API接口 - 创建短链接

接口说明

使用C1N短链接服务(c1n.cn)将原始链接快速转为短链接。

接口地址

bash 复制代码
https://c1n.cn/link/short

请求方式

POST

请求头:Headers

参数名 是否必须 说明

|-------|---|-----------------------------------------------|
| token | 是 | 请前往C1N短链接服务(c1n.cn)「控制台」-「个人中心」-「短链配置」获取token |

请求参数:Form 表单

参数名 是否必须 说明

|------------|---|-----------------------------------|
| url | 是 | 原始网址,以http://或https://开头 |
| key | 否 | 自定义短链后缀,不填则随机生成5位 |
| remark | 否 | 短链标题 |
| expiryDate | 否 | 有效期,例如:2023-10-20 00:00:00,默认永久有效 |
| domainName | 否 | 指定自有域名(需要先在控制台绑定域名) |

响应数据:JSON格式

复制代码
{
    code: 0,
    data: "https://c1n.cn/xxxxx",
    msg: "成功"
}
//说明:code为0表示成功,其他情况表示生成失败。

代码示例

php

php 复制代码
<?php
function short_url($long_url)
{
    $headers = [
        'Content-Type: application/x-www-form-urlencoded',
        'token: your_token'  // 替换为您的token
    ];
    $data = [
        'url' => $long_url,
        'key' => '',
        'remark' => '',
        'expiryDate' => '',
        'domainName' => ''
    ];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://c1n.cn/link/short');
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $response = curl_exec($ch);
    curl_close($ch);
    $response_data = json_decode($response, true);
    if ($response_data['code'] == 0) {
        return $response_data['data'];
    }
    echo $response_data['msg'];
}
// 请确保您的PHP环境中已经安装了cURL库
$res = short_url('https://example.com');  // 替换为您要生成短链接的原始网址
echo $res; 
?>

python

python 复制代码
import requests
def short_url(long_url):
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'token': 'you_token'  # 替换为您的token
    }
    data = {
        'url': long_url,
        'key': '',
        'remark': '',
        'expiryDate': '',
        'domainName': ''
    }
    response = requests.post('https://c1n.cn/link/short', headers=headers, data=data)
    response_data = response.json()
    if response_data.get('code') == 0:
        return response_data.get('data')
    print(response_data.get('msg'))
res = short_url('https://example.com')  # 替换为您要生成短链接的原始网址
print(res)

java

java 复制代码
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

public class ShortUrlDemo {

    /**
     * 使用前需要先引入fastjson依赖
     * <dependency>
     *   <groupId>com.alibaba</groupId>
     *   <artifactId>fastjson</artifactId>
     *   <version>1.2.47</version>
     * </dependency>
    */
    public static void main(String[] args) {
        String res = shortUrl("https://example.com"); //替换为您要生成短链接的原始网址
        System.out.println(res);
    }

    public static String shortUrl(String longUrl) {
        try {
            URL url = new URL("https://c1n.cn/link/short");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
            connection.setRequestProperty("token", "you_token"); // 替换为您的token
            connection.setDoOutput(true);
            String requestBody = "url=" + URLEncoder.encode(longUrl, "UTF-8") + "&key=&remark=&expiryDate=&domainName=";
            connection.getOutputStream().write(requestBody.getBytes(StandardCharsets.UTF_8));
            BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            StringBuilder response = new StringBuilder();
            String line;
            while ((line = reader.readLine()) != null) {
                response.append(line);
            }
            reader.close();
            connection.disconnect();
            JSONObject obj = JSON.parseObject(response.toString());
            if (obj.getInteger("code") == 0) {
                return obj.getString("data");
            }
            System.out.println(obj);
            return "";
        } catch (IOException e) {
            e.printStackTrace();
            return "";
        }
    }
}

JavaScript

javascript 复制代码
function shortUrl(longUrl) {
    var xhr = new XMLHttpRequest();
    var url = 'https://c1n.cn/link/short';
    var headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'token': 'your_token' // 替换为您的token
    };
    var data = 'url=' + encodeURIComponent(longUrl) + '&key=&remark=&expiryDate=&domainName=';
    xhr.open('POST', url, true);
    for (var key in headers) {
        xhr.setRequestHeader(key, headers[key]);
    }
    xhr.onreadystatechange = function() {
        if (xhr.readyState === XMLHttpRequest.DONE) {
            if (xhr.status === 200) {
                var responseJson = JSON.parse(xhr.responseText);
                if (responseJson.code === 0) {
                    console.log(responseJson.data);
                } else {
                    console.log(responseJson.msg);
                }
            } else {
                console.log('Error:', xhr.status);
            }
        }
    };
    xhr.send(data);
}
shortUrl('https://example.com'); // 替换为您要生成短链接的原始网址
相关推荐
小杨勇敢飞4 分钟前
记录一次 VMware 虚拟机固定 IP 后,FinalShell 连接不上的排查过程
网络·网络协议·tcp/ip
weixin_604236678 小时前
华三 路由器 极简核心配置
运维·服务器·网络·h3c·h3c路由器
天竺鼠不该去劝架9 小时前
金融智能体选型指南:通用大模型还是垂直专业平台?
经验分享
换个昵称都难11 小时前
webrtc 音频模块FEC模块
网络·音视频·webrtc
youngerwang12 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
数据库小学妹12 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
智慧光迅AINOPOL14 小时前
校园在线巡课系统方案:督导全覆盖
网络·全光网解决方案·全光网·校园全光网·校园全光网解决方案
酉鬼女又兒15 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
远程软件小助理15 小时前
ToDesk节点繁忙、向日葵免费试用受限,还有什么免费好用的远程软件推荐?
经验分享·游戏·远程工作
Urbano15 小时前
工装制作全流程科普:从面料到自动化生产
网络·人工智能