Sunucu yanıtını kontrol edin

Sunucu yanıtı
NS kayıtları
Whois alanı
Yanıt başlıkları
İstek başlıkları
Ham HTML kodu
301 Moved Permanently - duejl.com
HTTP Status: 301
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Server: awselb/2.0
Date: Tue, 27 May 2025 23:15:04 GMT
Content-Type: text/html
Content-Length: 134
Connection: keep-alive
Location: https://duejl.com:443/
date: Tue, 27 May 2025 23:15:05 GMT
content-type: text/html
content-length: 9575
server: nginx/1.15.10
last-modified: Fri, 26 Apr 2024 19:20:37 GMT
vary: Accept-Encoding
etag: "662bfe85-2567"
cache-control: private, no-store, no-cache, must-revalidate, proxy-revalidate
accept-ranges: bytes

HTTP Kodu 301 Kalıcı Olarak Taşındı

301 durum kodu, istenen kaynağın kalıcı olarak yeni bir URL'ye taşındığı anlamına gelir. Gelecekteki tüm istekler yeni adresi kullanmalıdır.

Kod 301 ne zaman kullanılır?

  • Bir web sitesi alan adını değiştirirken
  • URL yapılarını değiştirirken
  • SEO için yönlendirmeleri ayarlarken

Kod 301 kullanıcı için ne anlama geliyor?

Tarayıcı kullanıcıyı otomatik olarak yeni adrese yönlendirecek ve arama motorları dizinlerini güncelleyecektir.

GET / HTTP/1.1
Host: duejl.com
Accept: */*
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html>
<html>

<head>
  <meta charset="UTF-8" />
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, viewport-fit=cover" />
  <meta name="renderer" content="webkit" />
  <meta http-equiv="Expires" content="0" />
  <meta http-equiv="pragram" content="no-cache" />
  <meta http-equiv="cache-control" content="no-cache, no-store, must-revalidate" />
</head>

<body>
  <script>
    function checkAppInstalled() {
      var a = document.createElement('a');
      a.href = 'mydbx://dbx'; // 替换为你的应用程序协议或自定义URL方案

      return new Promise(function (resolve) {
        function check() {
          setTimeout(function () {
            console.log(document.hidden)
            if (document.hidden == false) {
              resolve(false); // 假设应用未安装
            } else {
              resolve(true); // 应用已安装
            }
          }, 1000); // 设置一个适当的超时时间
        }

        document.addEventListener('visibilitychange', check, false);
          setTimeout(check, 200);
        // 获取用户浏览器信息
        const userAgent = navigator.userAgent;
        const isAppleBrowser = /Macintosh|iPhone|iPad|iPod/i.test(userAgent);
        if (!isAppleBrowser) {
          a.click();
        }
      });
    }

    // 调用示例
    checkAppInstalled().then(function (result) {
      if (!result) {
        
        var adj = {}
        try {
          // 有可能出现错误的代码写在这里
          if (window.androidJs.getADJ) {
            adj = JSON.parse(window.androidJs.getADJ())
            console.log('getADJ', adj)
          }
        } catch (e) {
          console.log(e);
        }
        function httpRequest(obj, successfun, errFun) {
          var xmlHttp = null;
          //创建 XMLHttpRequest 对象,老版本的 Internet Explorer (IE5 和 IE6)
          //使用 ActiveX 对象:xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
          if (window.XMLHttpRequest) {
            //code for all new browsers
            xmlHttp = new XMLHttpRequest;
          } else if (window.ActiveXObject) {
            //code for IE5 and IE6
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
          }
          //判断是否支持请求
          if (xmlHttp == null) {
            alert("浏览器不支持xmlHttp");
            return;
          }
          //请求方式, 转换为大写
          var httpMethod = (obj.method || "Get").toUpperCase();
          //数据类型
          var httpDataType = obj.dataType || 'json';
          //url
          var httpUrl = obj.url || '';
          //异步请求
          var async = true;
          //post请求时参数处理
          if (httpMethod == "POST") {
            requestData = JSON.stringify(obj.data)
          }
          //onreadystatechange 是一个事件句柄。它的值 (state_Change) 是一个函数的名称,
          //当 XMLHttpRequest 对象的状态发生改变时,会触发此函数。
          //状态从 0 (uninitialized) 到 4 (complete) 进行变化。仅在状态为 4 时,我们才执行代码
          xmlHttp.onreadystatechange = function () {
            //complete
            if (xmlHttp.readyState == 4) {
              if (xmlHttp.status == 200) {
                //请求成功执行的回调函数
                successfun(JSON.parse(xmlHttp.responseText));
              } else {
                //请求失败的回调函数
                errFun;
              }
            }
          }
          //请求接口
          if (httpMethod == 'GET') {
            xmlHttp.open("GET", httpUrl, async);
            xmlHttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
            xmlHttp.send(null);
          } else if (httpMethod == "POST") {
            xmlHttp.open("POST", httpUrl, async);
            xmlHttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
            xmlHttp.send(requestData);
          }
        }
        function checkWebSiteOnline(config) {
          var img = new Image();
          img.onload = function () {
            if (typeof config.success == 'function') config.success(config.url);
          }
          img.onerror = function () {
            if (typeof config.error == 'function') config.error(config.url);
          }
          img.src = config.url + (config.isImage ? '' : '/assets/logo.png');
        }
        let arr = []
        let data = []
        let registerOrg = 0
        try {
          // 有可能出现错误的代码写在这里
          if (androidJs) {
            registerOrg = 5
          }
        } catch (e) {
          if (window.navigator.userAgent.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)) {
            registerOrg = 2
          } else if (window.navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)) {
            registerOrg = 1
          } else {
            registerOrg = 3
          }
        }
        let url = window.location.search || window.location.hash;
        let theRequest = new Object();
        if (url.indexOf("?") != -1) {
          let str = url.substr(1);
          let strs = str.split("&");
          for (let i = 0; i < strs.length; i++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
          }
        }
        let packetName = theRequest['packetName'] || theRequest['/home?packetName']
        console.log(packetName, theRequest)
        let toPage = false
        let search = ''
        if (location.search) {
          search = '/#/home' + location.search
        } else {
          search = '/' + location.hash
        }
        let str = window.navigator.userAgent;
        let i1 = str.indexOf("("); //1
        let i2 = str.indexOf(")"); //1
        let i3 = str.substring(i1 + 1, i2).replace(/\s*/g, "").replace(/[`:_.~!@#$%^&*() \+ =<>?"{}|, \/ ;' \\ [ \] ·~!@#¥%……&*()—— \+ ={}|《》?:“”【】、;‘’,。、]/g, '')
        let i4 = window.navigator.userAgent.substring(85).replace(/\s*/g, "").replace(/[`:_.~!@#$%^&*() \+ =<>?"{}|, \/ ;' \\ [ \] ·~!@#¥%……&*()—— \+ ={}|《》?:“”【】、;‘’,。、]/g, '')

        function get(element) {
          return new Promise((resolve, reject) => {
            //模拟异步请求
            checkWebSiteOnline({
              url: element.domainLink, success: (url) => {
                toPage = true
                data.push({
                  domainLink: element.domainLink + search,
                  userDomainLink: element.domainLink,
                  packetName: packetName,
                  registerOrg: registerOrg,
                  status: '1',
                  homeUrl: location.origin,
                  configType: 1,
                  userId: adj.adid || i3 + i4,
                })
                reject('success')
              }, error: (url) => {
                data.push({
                  domainLink: element.domainLink + search,
                  userDomainLink: element.domainLink,
                  packetName: packetName,
                  registerOrg: registerOrg,
                  status: '2',
                  homeUrl: location.origin,
                  configType: 1,
                  userId: adj.adid || i3 + i4,
                })
                reject('error')
              }
            })
          })
        }
        function page(item) {
          window.location.href = item.domainLink
        }
        async function down(array) {
          console.log(array)
          data = []
          for (let index = 0; index < array.length; index++) {
            const element = array[index];
            try {
              let res = await get(element)
            } catch (error) {
              // console.log('error', error)
            }
            console.log(index)
            if (toPage) {
              break
            }

          }

           var times;
          function toPageHome() {
            clearTimeout(times)
            if (toPage) {
              page(data[data.length - 1])
            } else {
              alert('There is no channel available on your current network, please contact customer service!')
            }
          }
          times = setTimeout(() => {
            toPageHome()
          }, 300)
          httpRequest({
            method: "post",
            url: "https://api.gfkohu.online/service-api/sysSetting/savePacketJumpRecord", //请求的url地址
            data: data,
            dataType: "json"
          }, (res) => {
            toPageHome()
          }, (res) => {
            toPageHome()
          });
        }


        httpRequest({
          method: "post",
          url: "https://api.gfkohu.online/service-api/sysSetting/getPacketJumpConfig", //请求的url地址
          data: {
            region: '',
            configType: 1,
            userQuestId: adj.adid || i3 + i4
          },
          dataType: "json"
        }, (res) => {
          console.log(res)
          if (res.resultCode == 200) {
            arr = []
            res.bizBody.map(item => {
                arr.push(item)
            })
            down(arr)
          }
        }, () => {
          console.log("请求失败");
        });
      } else {
        //  window.location.href = 'mydata://jhdfjhd.com'
      }
    });
  </script>
</body>

</html>                               

Alan adının whois bilgisi

Domain Name: DUEJL.COM
Registry Domain ID: 2905207885_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2024-08-04T06:46:49Z
Creation Date: 2024-08-04T06:39:45Z
Registry Expiry Date: 2025-08-04T06:39:45Z
Registrar: NameCheap, Inc.
Registrar IANA ID: 1068
Registrar Abuse Contact Email: [email protected]
Registrar Abuse Contact Phone: +1.6613102107
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Name Server: NS-1200.AWSDNS-22.ORG
Name Server: NS-1770.AWSDNS-29.CO.UK
Name Server: NS-339.AWSDNS-42.COM
Name Server: NS-786.AWSDNS-34.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-27T23:14:54Z <<<
For more information on Whois status codes, please visit https://icann.org/epp
NOTICE: The expiration date displayed in this record is the date the
TERMS OF USE: You are not authorized to access or query our Whois
by the following terms of use: You agree that you may use this Data only
to: (1) allow, enable, or otherwise support the transmission of mass