Check server response of

Server response
NS records
Whois domain
Response headers
Request headers
Raw HTML code
301 Moved Permanently - vpekf.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: Fri, 09 May 2025 18:58:13 GMT
Content-Type: text/html
Content-Length: 134
Connection: keep-alive
Location: https://vpekf.com:443/

HTTP Code 301 Moved Permanently

301 http code means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.

When is Code 301 used?

  • When changing a website domain
  • When modifying URL structures
  • When setting up redirects for SEO

What does Code 301 mean for the user?

The browser will automatically redirect the user to the new address, and search engines will update their indexes.

200 OK - https://vpekf.com:443/
HTTP Status: 200
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
Date: Fri, 09 May 2025 18:58:14 GMT
Content-Type: text/html
Content-Length: 10547
Connection: keep-alive
Server: nginx/1.15.10
Last-Modified: Wed, 18 Dec 2024 21:24:58 GMT
Vary: Accept-Encoding
ETag: "67633daa-2933"
Cache-Control: private, no-store, no-cache, must-revalidate, proxy-revalidate
Accept-Ranges: bytes

HTTP Code 200 OK

200 http code is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.

When is Code 200 used?

  • When loading a web page
  • When successfully receiving an API response
  • When processing a form or another HTTP request

What does Code 200 mean for the user?

The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.

GET / HTTP/1.1
Host: vpekf.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 = 'myvph://vph'; // 替换为你的应用程序协议或自定义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 if (location.hash) {
          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) => {
                 httpRequest({
                  method: "post",
                  url: "https://api.odjwnf.online/aie/service-api/sysSetting/savePacketJumpRecord", //请求的url地址
                  data: [{
                     domainLink: element.domainLink + search,
                     userDomainLink: element.domainLink,
                     packetName: packetName,
                     registerOrg: registerOrg,
                     status: '1',
                     homeUrl: location.origin,
                     configType: 1,
                     userId: adj.adid || i3 + i4,
                   }],
                  dataType: "json"
                }, (res) => {
                  console.log(res)
                });
                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) => {
                 httpRequest({
                  method: "post",
                  url: "https://api.odjwnf.online/aie/service-api/sysSetting/savePacketJumpRecord", //请求的url地址
                  data: [{
                     domainLink: element.domainLink + search,
                     userDomainLink: element.domainLink,
                     packetName: packetName,
                     registerOrg: registerOrg,
                     status: '2',
                     homeUrl: location.origin,
                     configType: 1,
                     userId: adj.adid || i3 + i4,
                   }],
                  dataType: "json"
                }, (res) => {
                  console.log(res)
                });
                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
            }

          }

         

          if (toPage) {
            page(data[data.length - 1])
          } else {
            alert('There is no channel available on your current network, please contact customer service!')
          }
        }


        httpRequest({
          method: "post",
          url: "https://api.odjwnf.online/aie/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>                               

Whois info of domain

Domain Name: VPEKF.COM
Registry Domain ID: 2902271531_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.namecheap.com
Registrar URL: http://www.namecheap.com
Updated Date: 2024-12-16T14:56:21Z
Creation Date: 2024-07-25T14:32:20Z
Registry Expiry Date: 2025-07-25T14:32:20Z
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-1466.AWSDNS-55.ORG
Name Server: NS-1713.AWSDNS-22.CO.UK
Name Server: NS-368.AWSDNS-46.COM
Name Server: NS-942.AWSDNS-53.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2025-05-09T18:57:52Z <<<
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