一、用Delphi10.3模拟读取百度网页,并读取相关头部信息
2024-10-17 22:27:17
一、读取网页的如下:
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; // 设置Header
with m_Http do
begin
Accept := 'text/html, application/xhtml+xml, */*';
//AcceptEncoding := 'gzip, deflate';// 是否以GZIP方式访问网站
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.PosEx(m_Url, m_PostData);
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.
二、设计的界面如下:
三、 左上的编辑框是我们读取的百度访问的头
Version: HTTP__
StatusCode:
StatusText: OK
Cache-Control: max-age=
Connection: Keep-Alive
Date: Wed, Mar :: GMT
Content-Length:
Content-Type: text/html
Expires: Thu, Mar :: GMT
Last-Modified: Thu, Nov :: GMT
Accept-Ranges: bytes
ETag: "3dec-57b3a9a43af80"
Server: Apache
Vary: Accept-Encoding,User-Agent
---发送的header信息---
Accept: text/html, application/xhtml+xml, */*
AcceptCharSet:
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
四、中间部分是我们读取的COOKIES
BDSVRTM=;BAIDUID=374DA209DACE0A2722EAFAFA67AEB84F:FG=;
五、最下面就是我们读取的百度的页面内容了。
总结:Delphi10.3读取百度页面是非常简单方便的。
不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢。
最新文章
- BirdError
- Asp.net MVC的Model Binder工作流程以及扩展方法(2) - Binder Attribute
- Win7配置Nginx+PHP7
- 今日 使用ajaxfileupload 异步上传 但是在IE下面 会弹出下载框
- Android MVP架构分析
- WCF 学习总结3 -- 实例模式
- CALayer精讲
- 服务器环境搭建系列(一)-Apache篇
- jquery.validation.js的自定义方法
- sizeof与类,继承,virtual的种种(整理)
- android——ListView功能的实现
- UltraEdit 中的常用正则表达式
- ionic实战系列(二):使用cordova插件
- Python_从字符串中提取号码
- 你需要知道的这几种 asp.net core 修改默认端口的方式
- psql 关于主键自增的问题
- BZOJ.5120.[清华集训2017]无限之环(费用流zkw 黑白染色)
- (转载)How browsers work--Behind the scenes of modern web browsers (前端必读)
- GOF---Java开发中的23种设计模式详解
- C# DbHelperSQL 类,从东软生成器提取而来