采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,我用百度生成短链接报空指针错误,用那个同学找的搜狗的报403错误,有什么好用的生成短链接的方法不
同学好,百度短链接目前把v1版本下线了,这是非常不好的实践,目前升级成了v2,而且每天生成的短链接控制在了100以内免费
花了一些时间研究了一下,得出下面的代码,测试是ok的,同学可以试试
//需要在pom.xml引入以下依赖 /** <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency> **/ public class ShortNetAddressUtil { final static String CREATE_API = "https://dwz.cn/admin/v2/create"; // 设置Token,在https://dwz.cn/console/userinfo 获取自己的token,复制粘贴到这里 final static String TOKEN = "fd26165fc99cb2208e06a7f1d0dcd4bf"; 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 * 长网址:即原网址 * @return 成功:短网址 * 失败:返回空字符串 */ public static String getShortURL(String longUrl) { String params = "{\"Url\":\""+ longUrl + "\"}"; 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 = getShortURL("http://myo2o.yitiaojieinfo.com/myo2o/frontend/index"); System.out.println(res); } }
在使用代码前,跟注释里说的一样,
1,需要往pom.xml引入新的一个jar依赖
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.6</version> </dependency>
2.需要去到https://dwz.cn/console/userinfo 获取你的token。
3.直接复制粘贴使用我修改好的代码
登录后可查看更多问答,登录/注册
SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需
2.0k 47
1.9k 41
2.6k 40
1.9k 39
1.6k 37