打印本文 打印本文 关闭窗口 关闭窗口
怎样检测你的IE使用的代理服务器
作者:武汉SEO闵涛  文章来源:敏韬网  点击数568  更新时间:2009/4/23 18:30:24  文章录入:mintao  责任编辑:mintao

//-----------------------------------------------
//记得引用 WinInet 单元
//-----------------------------------------------
uses
WinInet

//----------------------------------------------
//定义要使用的函数
//----------------------------------------------




function GetProxyInformation: string;
var
  ProxyInfo: PInternetProxyInfo;
  Len: LongWord;
begin
  Result := '''''''';
  Len := 4096;
  GetMem(ProxyInfo, Len);
  try
    if InternetQueryOption(nil, INTERNET_OPTION_PROXY, ProxyInfo, Len) then
      if ProxyInfo^.dwAccessType = INTERNET_OPEN_TYPE_PROXY then
      begin
        Result := ProxyInfo^.lpszProxy
      end;
  finally
    FreeMem(ProxyInfo);
  end;
end;


procedure GetProxyServer(protocol: string; var ProxyServer: string;
  var ProxyPort: Integer);
var
  i: Integer;
  proxyinfo, ps: string;
begin
  ProxyServer := '''''''';
  ProxyPort := 0;

  proxyinfo := GetProxyInformation;
  if proxyinfo = '''''''' then
    Exit;

  protocol := protocol + ''''='''';

  i := Pos(protocol, proxyinfo);
  if i > 0 then
  begin
    Delete(proxyinfo, 1, i + Length(protocol));
    i := Pos('''';'''', ProxyServer);
    if i > 0 then
      proxyinfo := Copy(proxyinfo, 1, i - 1);
  end;

  i := Pos('''':'''', proxyinfo);
  if i > 0 then
  begin
    ProxyPort := StrToIntDef(Copy(proxyinfo, i + 1, Length(proxyinfo) - i), 0);
    ProxyServer := Copy(proxyinfo, 1, i - 1)
  end
end;
//----------------------------------------------------------------
//使用范例
//----------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
  ProxyServer: string;
  ProxyPort: Integer;
begin
  GetProxyServer(''''http'''', ProxyServer, ProxyPort);
  if  ProxyPort=0 then
      begin
     ShowMessage(''''你的IE没有使用的代理服务器'''')
      end
    else
  Label1.Caption := ProxyServer;
  label2.Caption := IntToStr(ProxyPort);

end;

打印本文 打印本文 关闭窗口 关闭窗口