php简单实现短网址(短链)还原的方法(测试可用)

2025-05-29 0 88

本文实例讲述了php简单实现短网址还原的方法。分享给大家供大家参考,具体如下:

具体代码如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77
<?php

$info1 = '亲!暂不能解析此类短网址。';

$info2 = '亲!网址解析失败,请重试。';

$info3 = '<br/><b><a href="';

$info4 = '" target="_blank">立即访问>></a></b>';

$info5 = '亲!不是短网址或无效。';

function unshort($url)

{

global $info1,$info2,$info3,$info4;

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);

curl_setopt ($curl, CURLOPT_USERAGENT, 'Mozilla/8.0 (compatible; MSIE 8.0; Windows 7');

curl_setopt($curl, CURLOPT_HEADER, 1);

curl_setopt($curl, CURLOPT_NOBODY, 0);

curl_setopt($curl, CURLOPT_TIMEOUT, 15);

curl_setopt($curl,CURLOPT_ENCODING, 'gzip');

$data = curl_exec($curl);

if(!empty($data)){

$message = curl_getinfo($curl);

curl_close($curl);

$status = $message['http_code'];

if ($status == '301' || $status == '302' ){

$UrlHeader = (get_headers($url,1));

$unurl = $UrlHeader[Location];

if(is_array($unurl)) {

$unurl = $unurl[0];

$unurl .=$info3.$unurl.$info4;

return $unurl;

}

else {

$unurl .=$info3.$unurl.$info4;

return $unurl;

}

}

return $info1;

}

return $info2;

}

function adfunshort($url)

{

global $info3,$info4,$info5;

$c = file_get_contents($url);

$p = "/url = '(.*)';/isU";

preg_match($p, $c, $content);

$unurl = $content[1];

if($unurl == '') {

return $info5;

}

else {

$unurl .=$info3.$unurl.$info4;

return $unurl;

}

}

?>

<form action="" method="post">

短网址:<input type="text" name="turl" class="inurl" size="26" />

<input type="hidden" name="url_done" value="done" />

<input type="submit" value="提交" class="suburl" />

</form>

<div id="trurl">

<?php

$turl = $_POST['turl']?$_POST['turl']:"";

$url_done= $_POST['url_done']?$_POST['url_done']:"";

if ($url_done == 'done'){

$http = substr($turl,0,7);

if ($http != 'http://' && $http != 'https:/'){

$turl = 'http://'.$turl;

}

$tturl = substr($turl,0,11);

if ($tturl == 'http://adf.'){

$longurl = adfunshort($turl);

}else {

$longurl = unshort($turl);

}echo "短网址 ".$turl." 的真实网址为:<br />$longurl ";

}

?>

希望本文所述对大家PHP程序设计有所帮助。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 php简单实现短网址(短链)还原的方法(测试可用) https://www.kuaiidc.com/98902.html

相关文章

发表评论
暂无评论