import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import com.google.gson.Gson;
import com.google.gson.annotations.SerializedName;
public class BaiduDwz {
final static String CREATE_API = "https://pnv.cn/api/short/create";
final static String TOKEN = "你的token"; // TODO:设置Token
class UrlResponse {
@SerializedName("Code")
private int code;
@SerializedName("ErrMsg")
private String errMsg;
@SerializedName("LongUrl")
private String longUrl;
@SerializedName("ShortUrl")
private String shortUrl;
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getErrMsg() {
return errMsg;
}
public void setErrMsg(String errMsg) {
this.errMsg = errMsg;
}
public String getLongUrl() {
return longUrl;
}
public void setLongUrl(String longUrl) {
this.longUrl = longUrl;
}
public String getShortUrl() {
return shortUrl;
}
public void setShortUrl(String shortUrl) {
this.shortUrl = shortUrl;
}
}
/**
* 创建短网址
*
* @param longUrl
* 长网址:即原网址
* termOfValidity
* 有效期:默认值为long-term
* @return 成功:短网址
* 失败:返回空字符串
*/
public static String createShortUrl(String longUrl, String termOfValidity) {
String params = "{\"Url\":\""+ longUrl + "\",\"TermOfValidity\":\""+ termOfValidity + "\"}";
BufferedReader reader = null;
try {
// 创建连接
URL url = new URL(CREATE_API);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
connection.setRequestMethod("POST"); // 设置请求方式
connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式
connection.setRequestProperty("Token", TOKEN); // 设置发送数据的格式");
// 发起请求
connection.connect();
OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); // utf-8编码
out.append(params);
out.flush();
out.close();
// 读取响应
reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String line;
String res = "";
while ((line = reader.readLine()) != null) {
res += line;
}
reader.close();
// 抽取生成短网址
UrlResponse urlResponse = new Gson().fromJson(res, UrlResponse.class);
if (urlResponse.getCode() == 0) {
return urlResponse.getShortUrl();
} else {
System.out.println(urlResponse.getErrMsg());
}
return ""; // TODO:自定义错误信息
} catch (IOException e) {
// TODO
e.printStackTrace();
}
return ""; // TODO:自定义错误信息
}
public static void main(String[] args) {
String res = createShortUrl("你的长网址","有效期");
System.out.println(res);
}
}
curl -H "Content-Type:application/json" -H "Token: 你的token" -X POST "https://pnv.cn/api/short/create" -d '{"Url":"你的长网址","TermOfValidity":"有效期"}'
var ajax = new XMLHttpRequest();
var token = '你的token';
var longUrl = '你的长网址';
var termOfValidity = '有效期'
ajax.open('post','https://pnv.cn/api/short/create', 'true');
ajax.setRequestHeader("Content-Type", "application/json");
ajax.setRequestHeader("Token", token);
// 发送请求
ajax.send(JSON.stringify({
Url: longUrl,
TermOfValidity: termOfValidity
}));
ajax.onreadystatechange = function () {
if (ajax.readyState === 4 && ajax.status === 200) {
// 获取缩短后的网址
console.log(ajax.responseText);
}
}
<?php
$host = 'https://pnv.cn';
$path = '/api/short/create';
$url = $host . $path;
$method = 'POST';
$content_type = 'application/json';
// TODO: 设置Token
$token = '你的Token';
// TODO:设置待注册长网址
$bodys = array('Url'=>'你的长网址', 'TermOfValidity'=>'有效期');
// 配置headers
$headers = array('Content-Type:'.$content_type, 'Token:'.$token);
// 创建连接
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($bodys));
// 发送请求
$response = curl_exec($curl);
curl_close($curl);
// 读取响应
var_dump($response);
?>
#!/usr/bin/python
# -*- coding: utf-8 -*-
import requests
import json
host = 'https://pnv.cn'
path = '/api/short/create'
url = host + path
method = 'POST'
content_type = 'application/json'
# TODO: 设置Token
token = '你的token'
# TODO:设置待创建的长网址
bodys = {'Url':'你的长网址','TermOfValidity':'有效期'}
# 配置headers
headers = {'Content-Type':content_type, 'Token':token}
# 发起请求
response = requests.post(url=url, data=json.dumps(bodys), headers=headers)
# 读取响应
print(response.text)