Advertisement
WILDAN_IZZUDIN

[JS] SHORTEN & EXPANDER URL

Nov 7th, 2021 (edited)
1,093
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let axios = require('axios')
  2. let fetch = require('node-fetch')
  3.  
  4. class NeoxrApi {
  5.     creator = `@neoxrs – Wildan Izzudin`
  6.    
  7.     shorten(url) {
  8.         return new Promise(async(resolve, reject) => {
  9.         try {
  10.             let params = new URLSearchParams()
  11.             params.append('destination', url)
  12.             params.append('dryRun', true)
  13.             let html = await axios.post('https://free-url-shortener.rb.gy/shorten', { destination: url, dryRun: true })
  14.             resolve({ creator: this.creator, status: true, data: { url: html.data.shortUrl }})
  15.         } catch {
  16.             resolve({ creator: this.creator, status: false })
  17.         }})
  18.     }
  19.    
  20.     expand(url) {
  21.         return new Promise(async(resolve, reject) => {
  22.         try {
  23.             let form = new URLSearchParams()
  24.             form.append('s', url)
  25.             let html = await (await fetch('https://urlex.org/', { method: 'POST', body: form })).text()
  26.             let $ = cheerio.load(html)
  27.             let real = $('div.c').find('td > a').attr('href')
  28.             if (url == real) return resolve({ creator: this.creator, status: false })
  29.             resolve({ creator: this.creator, status: true, data: { url: real }})
  30.         } catch {
  31.             resolve({ creator: this.creator, status: false })
  32.         }})
  33.     }
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement