PHP调用百度api生成短网址&根据短网址恢复长网址

  • 接口api文档地址:http://dwz.cn/#/apidoc?_k=i9ev5p
  •  代码demo
    header("Content-type: text/html; charset=utf-8");
        /**
         * 生成短网址
         */
        //短网址生成接口地址&传递的参数
        $url = "http://dwz.cn/admin/create";
        $param = [
            "url"=>"http://www.baidu.com",
        ];
    
        //curl初始化&curl配置
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
        //执行cURL会话
        $ret = curl_exec($ch);
        //获取cURL连接资源句柄的信息
        $retInfo = curl_getinfo($ch);
    
        if($retInfo['http_code'] == 200){
            $data = json_decode($ret, true);
            /**
             * Code:0:正常返回短网址,-1:短网址生成失败,-2:长网址不合法,-3:长网址存在安全隐患,-4:长网址插入数据库失败,-5:长网址在黑名单中,不允许注册;
             * ShortUrl:短网址
             * LongUrl:长网址(原网址)
             * ErrMsg:错误信息
             */
            if($data['Code'] != 0){
                echo '短网址生成失败,错误原因为:' . $data['ErrMsg'];
            }else{
                echo '短网址生成成功!由['.$data['LongUrl'].']生成的短网址为:['.$data['ShortUrl'].']';
            }
        }else{
            echo 'make short url failed';
        }
    
    echo "<hr>";
        /**
         * 短网址还原
         */
        //短网址还原接口地址&传递的参数
        $url = "http://dwz.cn/admin/query";
        $param = [
            "shortUrl"=>"http://dwz.cn/de3rp2Fl",
        ];
    
        //curl初始化&curl配置
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($param));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
        //执行cURL会话
        $ret = curl_exec($ch);
        //获取cURL连接资源句柄的信息
        $retInfo = curl_getinfo($ch);
    
        if($retInfo['http_code'] == 200){
            $data = json_decode($ret, true);
            /**
             * Code:0:正常返回短网址,-1:短网址对应的长网址不合法,-2:短网址不存在,-3:查询的短网址不合法;
             * ShortUrl:短网址
             * LongUrl:长网址(原网址)
             * ErrMsg:错误信息
             */
            if($data['Code'] != 0){
                echo '短网址恢复失败,错误原因为:' . $data['ErrMsg'];
            }else{
                echo '短网址恢复成功!由['.$data['ShortUrl'].']恢复的短网址为:['.$data['LongUrl'].']';
            }
        }else{
            echo 'make short url failed';
        }

     

  • 还可以使用ajax调用接口获取短链接

  •  

转载于:https://www.cnblogs.com/wxdblog/p/9584114.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你可以使用百度网址API生成链接。以下是Java代码示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class BaiduShortUrl { public static void main(String[] args) { String longUrl = "http://www.baidu.com"; // 待转换的链接 String apiKey = "你的API Key"; // 填写你在百度网址申请的API Key String url = "http://dwz.cn/create.php"; String param = "url=" + URLEncoder.encode(longUrl, "UTF-8") + "&apikey=" + apiKey; String result = sendGet(url, param); System.out.println(result); } private static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); connection.setRequestMethod("GET"); connection.connect(); in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8")); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常:" + e); e.printStackTrace(); } finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } } ``` 在上面的代码中,你需要替换 `longUrl` 和 `apiKey` 的值。`longUrl` 是你要转换成链接的链接,`apiKey` 是你在百度网址申请的API Key。运行代码后,你将会得到一个 JSON 格式的响应,其中包含了生成链接。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值