[函数]function CheckUrl(url: string): Boolean; //检查一个URL是否有效函数

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

//检查一个URL是否有效函数

//可用来检测网络连接是否正确,InternetCheckConnection函数检查不准确,有些情况无法检测到,而以下CheckUrl函数则不会。
//uses wininet;
function CheckUrl(url: string): Boolean;
var
  hSession, hfile, hRequest: hInternet;
  dwindex, dwcodelen: dword;
  dwcode: array[1..20] of Char;
  res: PChar;
begin
  Result := false;
  if Pos('http://', LowerCase(url)) = 0 then  url := 'http://' + url;
  hSession := InternetOpen('InetURL:/1.0', INTERNET_OPEN_TYPE_PRECONFIG,
    nil, nil, 0);
  if Assigned(hsession) then
  begin
    hfile := InternetOpenUrl(hsession, PChar(url), nil, 0, INTERNET_FLAG_RELOAD, 0);
    dwIndex := 0;
    dwCodeLen := 10;
    HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
    res := PChar(@dwcode);
    Result := (res = '200') or (res = '302'); //200,302未重定位标志
    if Assigned(hfile) then
      InternetCloseHandle(hfile);
    InternetCloseHandle(hsession);
  end;
end;

//方法二:

function CheckUrl(url: string; TimeOut: integer = 5000): boolean;
var
hSession, hfile, hRequest: hInternet;
dwindex, dwcodelen: dword;
dwcode: array[1..20] of char;
res: pchar;
re: integer;
Err1: integer;
j: integer;
begin
if pos('http://', lowercase(url)) = 0 then
  url := 'http://' + url;
Result := false;
InternetSetOption(hSession, Internet_OPTION_CONNECT_TIMEOUT, @TimeOut, 4);
hSession := InternetOpen('Mozilla/4.0', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  //设置超时
if assigned(hsession) then
begin
  j := 1;
  while true do
  begin
    hfile := InternetOpenUrl(hsession, pchar(url), nil, 0, INTERNET_FLAG_RELOAD, 0);
  if hfile = nil then
    begin
    j := j + 1;
    Err1 := GetLastError;
    if j > 5 then break;
    if (Err1 <> 12002) or (Err1 <> 12152) then break;
    sleep(2);
    end
    else begin
    break;
    end;
  end;
  dwIndex := 0;
  dwCodeLen := 10;
  HttpQueryInfo(hfile, HTTP_QUERY_STATUS_CODE, @dwcode, dwcodeLen, dwIndex);
  res := pchar(@dwcode);
  re := strtointdef(res, 404);
  case re of
    400..450: result := false;
  else result := true;
  end;
  if assigned(hfile) then
    InternetCloseHandle(hfile);
    InternetCloseHandle(hsession);
  end;
end;

Auto.js项目实战:给你的脚本加个自动更新和进度条(附完整UpdateUtil.js源码) 本文详细介绍了Auto.js项目中实现脚本自动更新和进度条显示的全流程解决方案。从版本控制设计、网络检测机制到下载进度管理和静默安装实现,提供了完整的UpdateUtil.js源码,帮助开发者轻松为Auto.js脚本添加自动更新功能,提升用户体验。 阅读详情

相关推荐

CheckURL-开源

CheckURL一个小型 C# 命令行实用程序,它将网站 url 作为参数并验证是否加载了默认(或指定)页面以及来自服务器的响应代码是否为“OK”。 CheckURL 返回“0”表示通过,“1”表示失败。

check url脚本

页面检查

笨小孩学运维 949

CheckURL 1.0 网址检测

1、可以集成到浏览器右键,在链接(文字链接和图片链接)上右键自动运行分析; 2、非浏览调用运行时,会分析剪切板中的网址信息; 3、本程序没有印钞功能; 1、本程序可以集成到IE内核的浏览器,如Internet Explorer、TTraveler、世界之窗、遨游等; 2、本程序需要Microsoft .NET Framework 2.0以上版本的支持才能正常运行,Microsoft .NET Framework 2.0下载地址http://www.xiazaiba.com/downinfo/150.html

探秘恶意URL的守护者:CheckURL

探秘恶意URL的守护者:CheckURL 在数字世界的深邃角落,暗藏着一种名为IDN同形攻击的网络威胁,它利用相似字符的混淆,诱骗用户误入恶意网站。为对抗这一阴险手段,一款名为CheckURL的开源工具应运而生,成为了互联网安全领域的新星。 项目介绍 CheckURL一个由Vandré Augusto维护的小巧而强大的Python脚本,旨在检测并揭露那些利用国际域名同形字(Homograph A...

gitblog_00034的博客 695

JavaScript学习笔记|基本数据类型——Undefined,Null及Boolean

JS基本数据类型 数据类型 变量可分为两种不同的数据类型:基本类型和引用类型 基本类型: 1)Number:值可以为任意数值 2)String:任意文本 3)Undefined:undefined 4)Null:null 5)Boolean:true/false 引用数据类型: 1)Object:一般对象类型 2)Function:特殊对象类型(有方法,可执行) 3)Array:特殊对象类...

qq_41591033的博客 421

Java代码审计之URL重定向

Java代码审计之URL重定向url重定向URLRedirect url重定向漏洞也称url任意跳转漏洞,网站信任了用户的输入导致恶意https://mp.weixin.qq.com/s?__biz=MzI1ODY3MTA3Nw==&mid=2247484100&idx=1&sn=50473ea6eb61f836f645d1e024ce0899&chksm=ea05ea4edd7263584975705d5fd3a3467d61a0ff2d4469fbdcdcd0aa84b4

liguangyao213的博客 6965

第三方服务订阅验证与API访问控制:从架构设计到Spring Boot实现

在现代应用开发中,API集成与订阅管理是构建可持续商业模式的核心技术。其基本原理在于通过访问凭证(如API Key)安全调用外部服务,同时验证用户订阅状态以控制资源访问。这一机制的技术价值在于实现服务的商业化与权限精细化管理,确保服务提供方获得合理收益,用户按需使用。典型的应用场景包括集成AI模型服务(如OpenAI API)、云服务平台或各类SaaS产品。本文聚焦于解决订阅验证失败、无法访问服务器等常见集成问题,通过设计缓存同步架构与健壮的错误处理流程,提供了一套可复用的工程实践方案,帮助开发者构建稳定的

weixin_30565327的博客 329

CheckUrl()

BOOL CTest::CheckUrl(CString &url){ HINTERNET   hSession,hFile;//   hRequest;    DWORD   dwCodeLen;    DWORD   dwStatusCode;   hSession=InternetOpen("InetURL:/1.0",INTERNET_OPEN_TYPE_PRECONFIG,NULL,NU

cciey的专栏 2214

hakcheckurl 项目教程

hakcheckurl 项目教程 1. 项目介绍 hakcheckurl一个开源工具,旨在通过批量检查 URL 列表的 HTTP 响应代码来快速确定多个网页的状态。该工具特别适用于与 hakrawler 等其他工具结合使用,以便轻松检查发现 URL 的响应代码。 主要功能 并发处理:利用多线程加速检查过程。 可配置超时:定义每个请求的超时时间。 重试机制:自动重试失败的请求,以处理临时网络问...

gitblog_00060的博客 404

delphi中检查URL是否存在的函数

检查一个 URL 是否有效函数

songfuqiang的专栏 3356

检查 URL 合法性

方法一:自己总结,亲测可用 public static boolean checkUrl(String url) { String resultUrl = url.toLowerCase(); String regEx = "^(https|http|ftp|rtsp|mms)\\://?([a-zA-Z0-9\\.\\-]+(\\:[a-zA-" + ...

CVSDN的博客 2107

JS判断数据类型的5种方法

我们先来了解一下JS中数据类型有哪些 基本数据类型(值类型):String、Number、boolean、null、undefined、symbol(es6新增的) 引用数据类型 (引用类型):object。包含 Function、Array、Date、RegExp、Error等都是属于 Object 类型 。 一、typeof 通常用来判断基本数据类型,它返回表示数据类型的字符串(返回结果只能包括number,boolean,string,function,undefined,object); *

weixin_45571121的博客 3万+

uniapp微信小程序用户隐私保护通用组件

本示例为微信小程序用户隐私保护的组件方式解决方案,不需要进行任何修改!

JiangLu7的博客 6852

uniapp 微信小程序 控制台警告和错误处理

文章目录1. 警告2. 错误 1. 警告 微信小程序默认开启了索引功能,但是因为我们没有配置索引策略,导致出现了这么一个警告 解决这个警告也非常简单,因为一般情况项目不需要被微信索引,所以我们只需要关闭默认索引功能即可 [sitemap 索引情况提示] 根据 sitemap 的规则[0],当前页面 [pages/hot/hot] 将被索引 双击 manifest.json, 以源码视图打开, 在 mp-weixin.setting 中添加 "checkSiteMap": false "mp-weixin

辰风沐阳 4958

Lambda中Function函数接口(三)——Operator系列接口

函数式接口汇总链接

whxjason的博客 1044

java8新特性

java8新特性lambda 表达式基础语法格式表达式需要“函数式接口”的支持四大内置核心函数式接口 java 版本可能早已过了java8了,但是lambda表达式的运用在项目中可能变的越来越多了,所有特地整理一下。 lambda 表达式 lambda是一个匿名内部类,我们可以把lambda 表达式理解成一段可以传递的代码(将代码像数据一样进行传递)。可以写出更简洁,灵活的代码。作为一种更紧凑的代...

renguiriyue的博客 221

微信小程序常用...

"urlCheck": false,不检查域名,不检查TLS版本 data: { newArticle: [], }, onReady: function () { var that = this; wx.request({ url: 'https://www.***.com/applet', method: 'GET', ...

minalee 342

小程序分包你会吗?

pages 里面就是你的页面,至此应该都学会了吧!#作者是用uni-app开发的的小程序喔,原生小程序是一样的!#手把手教你小程序分包,直接赋给你源码。

不爱敲代码的前端工程师小熊 246
上一篇: [转]IP助手函数,可以检查出所以已经打开的端口
下一篇: 看到校友录一位同学的留言,想起来一首诗
siow
博客等级 码龄24年 31粉丝 96原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值