二、Delphi10.3在不下载文件情况下读取网站文件大小等信息

一、上源码

uses
  TxHttp,
  Classes,
  TxCommon,
  Frm_WebTool,
  SysUtils;

var
  m_Url: string;
  m_Http: TTxHttp;
  m_PostData: string;
  m_WebSource: string;
  m_Stream: TStringStream;

begin
  m_Http := TTxHttp.Create;
  // 网址
  m_Url := Trim(Form_WebTool.LabeledEdit1.Text);
  if Trim(m_Url) = '' then
  begin
    Exit;
  end;

  // 设置发包头
  with m_Http do
  begin
    Accept := 'text/html, application/xhtml+xml, */*';
    //AcceptEncoding := 'gzip, deflate';
    AcceptEncoding := '';
    AcceptLanguage := 'zh-CN';
    ContentType := 'application/x-www-form-urlencoded';
    UserAgent := 'Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko';
  end;

  // 设置Cookies
  m_Http.SetCookies(Trim(Form_WebTool.Memo4.Text), m_Url);

  // 设置编码
  if Form_WebTool.ComboBox2.Text = 'GB2312' then
  begin
    m_Http.Encoding := TxGB2312;
  end
  else
  begin
    m_Http.Encoding := TxUTF8;
  end;

  // Get还是POSt
  if Form_WebTool.ComboBox1.Text = 'POST' then
  begin
    m_WebSource := m_Http.GetEx(m_Url);
  end
  else
  begin
    m_PostData := Trim(Form_WebTool.Memo3.Text);
    //不下载文件情况下读取网站文件大小等信息
    m_WebSource := m_Http.GetUrlHead(m_Url);
  end;

  // 输出网页源码
  Form_WebTool.Memo1.Text := m_WebSource;
  // 取COOKIES
  Form_WebTool.Memo4.Text := m_Http.Cookies;
  // 取Header
  Form_WebTool.Memo5.Text := m_Http.GetHttpHead;
  m_Http.Free;

end.

二、界面如下:

三、Content-Length就是网上文件的大小,非常之方便,这样就可以在不下载文件的情况下先浏览一下文件的所有信息了。

本文为作者tianpan2019在博客园原创,未经许可,请勿转载。如果本文帮到了你,请记得打赏作者~感谢您的支持!

猜你喜欢

转载自www.cnblogs.com/tianpan2019/p/10527648.html