[Delphi]检查URL是否有效的函数

function CheckUrl(url: string): boolean;
var
  hSession, hfile, hRequest: hInternet;
  dwindex, dwcodelen: dword;
  dwcode: array[1..20] of char;
  res: pchar;
begin
  if pos(‘http://‘, lowercase(url)) = 0 then
    url := ‘http://‘ + url;
  Result := false;
  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‘);
    if assigned(hfile) then
      InternetCloseHandle(hfile);
    InternetCloseHandle(hsession);
  end;
end;
时间: 2024-10-12 22:28:01

[Delphi]检查URL是否有效的函数的相关文章

delphi中URL的汉字编码

delphi中URL的汉字编码 show.asp?sort=全部&sortlevel=1&gorq=供&n=5&sitename=全部&img=yes&imgfile=/images/dot_g.gif 诸如这样的形式,在百度查询会转成GB2312的编码,每个汉字对应2个%xx%xx ,但是在google,每个汉字则对应的三个%xx%xx%xx,采用的是unicode编码 在delphi2010中,因为引入unicode的缘故,默认的成了3个%xx,导致我的

Django url 标签和reverse()函数的使用(转)

原文:http://www.yihaomen.com/article/python/355.htm 使用url标签和reverse()函数,可以避免在模板和view中对url进行硬编码,这样即使url改变了,对模板和view也没有影响 起初用django 开发应用的时候,完全是在urls.py 中硬编码配置地址,在views.py中HttpResponseRedirect()也是硬编码转向地址,当然在template 中也是一样了,这样带来一个问题,如果在urls.py 中修改了某个页面的地址,

Delphi String 常用字串符处理函数

Delphi 在面对跨平台开发,程序语言也改进不少,不过有些改进,让原本 Delphi 开发者有些不适应,最显注的就是字串处理函数了,原本 Pascal 语言字串起始由 1 开始,几乎是它的经典了,新版本字串由 0 开始,这个改变,让很多人不适应,也多有抱怨,虽然 Delphi 尽量保有相容性,但如果要写出一码,跨所有平台,还是建议全部采用新的写法(由0开始),才是一劳永逸的做法,下面就整理常用字串处理函数新旧对照表. Delphi String 常用字串符处理函数: 说明 旧写法(Window

ajax提交请求为啥url要用这个函数encodeURI

参考如下: 如果你是通过form提交的,那就不需要用这个了.但是如果是你使用url的方式例如:ajax提交到后台的,就需要对url进行encodeURI编码,否则,会导致后台出现各种乱码,不加encodeURI的话,默认浏览器编码格式提交,这样的话,浏览器不同,传到后台的值也就不同了,所以建议使用encodeURI统一编码为utf-8的格式到后台,然后后台再处理再解码就行了,如果后台是utf-8的,好像也可以不手动解码,但是建议加上解码,避免发布环境不同的时候,会出现问题. http://zhi

Delphi下URL汉字编码解码的两个函数

//汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var  Idx: Integer; //逐个字符循环直至字符串结束begin  Result := '';  for Idx := 1 to Length(S) do  begin    case S[Idx] of      'A'..'Z', 'a'..'z', '0'..'9', '-', '_', '.':      

用Delphi实现Windows的鼠标钩子函数

Delphi是基于PASCAL语言的Windows编程工具,功能十分强大.然而在Delphi的帮助文件中,对Windows API函数的说明沿袭了 VC 的格式,和VC一样,对很多API函数的用法没有举例子详细说明,对一些深入系统内部的API函数更是语焉不详,给编程者带来不便.笔者仅就在Windows编程中鼠标钩子函数(HOOK)的实现,举例作一说明.   鼠标钩子函数也可叫做鼠标消息过滤器,是一种回调(CALLBACK)函数,归系统调用.如果用SetWindowsHook或SetWindows

Delphi检查GetElementByID返回值的有效性

Delphi 可以像JavaScript 脚本语言一样使用GetElementByID方法访问网页中指定ID的元素,一般要配合TWebBrowser组件使用.首先使用TWebBrowser浏览网页,然后访问网页的元素,例如: procedure TForm1.Button1Click(Sender: TObject);var  aElement: OleVariant;begin  aElement := WebBrowser1.OleObject.Document.GetElementByID

Delphi 检查文件是否存在

Delphi下检查文件是否存在,我们可以使用FileExists函数 其原形如下: Function FileExists(const FileName: string): Boolean; 示例: if Not FileExists('路径+文件名') then    begin      showmessage('所指定的文件不存在');    end else begin showmessage('所制定的文件不存在'); end end --------------------- 原文地

Delphi 常用属性+方法+事件+代码+函数

禁用最大化(属性) 窗体-> BorderIcons属性-> biMaximize-> False 让鼠标无法改变窗体大小(属性) 窗体-> Constraints属性 ->MaxHeight和MinHeight->设置相同限制鼠标改变窗体的高度 窗体-> Constraints属性->MaxWidth和MinWidth->设置相同就限制鼠标改变窗体的宽度 ================================================