首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Indy HTTP:读取403上的响应内容

首先,我们需要了解 Indy HTTP 是什么。Indy 是一个用于 Internet 通信的 C++ 库,它提供了一个简单易用的 API 来实现 HTTP 请求和响应。因此,Indy HTTP 是基于 Indy 库实现的 HTTP 通信功能。

关于读取 403 上的响应内容,这里的 403 是一个 HTTP 状态码,表示禁止访问。当客户端尝试访问受限制的资源时,服务器会返回 403 状态码。因此,在 Indy HTTP 中,如果客户端收到 403 状态码,则需要处理响应内容以获取更多信息。

在 Indy HTTP 中,可以使用以下代码来读取 403 状态码的响应内容:

代码语言:delphi
复制
IdHTTP1 := TIdHTTP.Create(nil);
try
  try
    Response := IdHTTP1.Get('http://example.com/restricted');
  except
    on E: EIdHTTPProtocolException do
    begin
      if E.ErrorCode = 403 then
      begin
        // 读取响应内容
        Response := E.Response;
      end else
        raise;
    end;
  end;
finally
  IdHTTP1.Free;
end;

在上面的代码中,我们使用 TIdHTTP.Get 方法来发送 HTTP GET 请求,并捕获 EIdHTTPProtocolException 异常。如果异常的错误代码是 403,则从异常中提取响应内容。

需要注意的是,读取 403 状态码的响应内容需要谨慎操作,因为响应内容可能包含敏感信息或者不应该被客户端访问的信息。因此,在处理 403 状态码时,应该仅读取必要的响应内容,并且遵守服务器的访问限制。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Go】优雅读取http请求或响应数据

http.Request.Body 或 http.Response.Body 中读取数据方法或许很多,标准库中大多数使用 ioutil.ReadAll 方法一次读取所有数据,如果是 json 格式数据还可以使用...(啊, 为啥不用 RPC,因为所有的服务都会对第三方开放,http + json 更好对接),大多数请求数据大小在 1K4K,响应数据在 1K8K,早期所有的服务都使用 ioutil.ReadAll...以下是优化读取请求简化代码: package adapter import ( "bytes" "io" "net/http" "sync" "github.com/json-iterator...http.Response.Body 之前一定要记得 buffer.Reset(), 这样基本就已经完成了 http.Request.Body 和 http.Response.Body 数据读取优化了...从图中可以发现 bytes.makeSlice 分配已经很小了, 且大多数是 http.Request.ParseForm 读取 http.Request.Body 使用 ioutil.ReadAll

2.9K31

【Go】优雅读取http请求或响应数据-续

之前发布 【Go】优雅读取http请求或响应数据 文章,网友 “wxe” 咨询:“优化前后请求耗时变化有多大”,之前只分析了内存分配,这篇文章用单元测试方式分析优化前后耗时情况,本文源码。...非常感谢 “wxe” 网友提问,让我在测试过程中发现一个 json 序列化问题。...这就是 sync.Pool 导致,sync.Pool 每次获取使用时间越短,命中率就越高,就可以减少创建新缓存,这样效率就会大大提高,而 jsoniter.Unmarshal 很耗时,就导致 sync.Pool...使用 io.Copy + sync.Pool 表面上执行效率不会有很大提升,但是会大幅度减少内存分配,从而可以减少 GC 负担,在单元测试中我们并没有考虑 GC 问题,而 GC 能带来性能提升会更有优势...再次感谢 “wxe” 网友提问,这里没有使用实际应用场景做性能测试,主要发现在性能测试中使用 http 服务会导致 connect: can't assign requested address 问题

1.4K31

服务器反爬虫攻略:ApacheNginxPHP禁止某些User Agent抓取网站

我们都知道网络爬虫非常多,有对网站收录有益,比如百度蜘蛛(Baiduspider),也有不但不遵守 robots 规则对服务器造成压力,还不能为网站带来流量无用爬虫,比如宜搜蜘蛛(YisouSpider...最近张戈发现 nginx 日志中出现了好多宜搜等垃圾抓取记录,于是整理收集了网络各种禁止垃圾蜘蛛爬站方法,在给自己网做设置同时,也给各位站长提供参考。...%{HTTP_USER_AGENT} (^$|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit...~* (Scrapy|Curl|HttpClient)) {      return 403; } #禁止指定UA及UA为空访问 if ($http_user_agent ~* "FeedDemon...五、附录:UA 收集 下面是网络常见垃圾 UA 列表,仅供参考,同时也欢迎你来补充。

2.2K50

Nginx访问日志中UserAgent一些参考建议

前言 网络存在各种各样爬虫与蜘蛛,有的是对网站有帮助,譬如说:百度(Baiduspider)、谷歌(Googlebot)、Bing(bingbot)等等,但是也有一些纯粹是垃圾爬虫,不但本身对网站毫无帮助...返回403 if($http_user_agent ~* 'curl|python-requests|urllib|Baiduspider|YisouSpider|Google|Sogou|bingbot...,建议使用map # 禁止user agent map $http_user_agent $ban_ua { default ''; '~*MJ12bot|curl|NetcraftSurvey...robots.txt协议 ZoominfoBot 是一个北美为主数据网站,用来搜寻北美公司曾经出现在网页邮箱 MJ12bot 暴力蜘蛛 SemrushBot 提供SEO数据平台,包括关键字研究和反向链接...Java 内容采集 Jullo 内容采集 UniversalFeedParser 内容采集 Swiftbot 无用爬虫 Microsoft URL Control ;扫描 oBot 无用爬虫 Python-urllib

1.3K10

反爬虫攻略:ApacheNginxPHP禁止某些User Agent抓取网站

我们都知道网络爬虫非常多,有对网站收录有益,比如百度蜘蛛(Baiduspider),也有不但不遵守robots规则对服务器造成压力,还不能为网站带来流量无用爬虫,比如宜搜蜘蛛(YisouSpider...最近张戈发现nginx日志中出现了好多宜搜等垃圾抓取记录,于是整理收集了网络各种禁止垃圾蜘蛛爬站方法,在给自己网做设置同时,也给各位站长提供参考。...403; } #禁止指定UA及UA为空访问 if ($http_user_agent ~* "FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot...可以看出,宜搜蜘蛛和UA为空返回是403禁止访问标识,而百度蜘蛛则成功返回200,说明生效! 补充:第二天,查看nginx日志效果截图: ①、UA信息为空垃圾采集被拦截: ?...五、附录:UA收集 下面是网络常见垃圾UA列表,仅供参考,同时也欢迎你来补充。

1.8K10

nginx配置一篇足矣

,否则返回一个空字符串 $http_user_agent //获取是客户端访问代理类型,请求头中信息 $sent_http_content_type //获取http响应头中content_type...值 $sent_http_content_length //获取http响应头重content_length值 $request_filename //该变量获取是请求文件在linux...服务器完整绝对路径 $request_method //该表示获取http请求方法 $request_uri //该变量表示原始请求uri,包括参数。...//上游服务器响应报文长度 $upstream_response_time //上游服务器响应时间 $upstream_status //上游服务器响应状态码 $scheme //表示是使用...if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空访问 if ($http_user_agent

56020

技术笔记:IndyTIdSMTP改造,解决发送Html和主题截断问题

使用Indy来发邮件坑不少啊,只不过有比没有好吧,使用delphi6这种老工具没办法,只能使用了新一点Indy版本9,公司限制。。。...问题出在SendBody方法,这个在之前一篇中提到过《技术笔记:Indy控件发送邮件》 当时是解决“发送Html”问题才使用到了TIdText这个组件,因为基类TIdMessageClient中SendBody...因为只有一个TIdText所以这句话会导致无法发送body内容。所以解决方法是再添加一个相同TIdText,之前测试还挺好,但昨天发现反馈有人收到邮件中有重复body内容。...收到邮件主题是截断,而且后面的内容解析错误。心想这是个什么鬼。...代码已经放到gitbub:https://github.com/mini188/IndyMail

74060

如何解决常见 HTTP 错误代码

介绍 访问 Web 服务器或应用程序时,服务器收到每个 HTTP 请求都会以 HTTP 状态代码进行响应HTTP 状态代码是三位数代码,分为五个不同类别。...文件权限 当运行 Web 服务器进程用户没有足够权限读取正在访问文件时,通常会发生 403 错误。...举个排除403错误例子,假设以下情况: 用户正在尝试访问 Web 服务器索引文件,从 http://example.com/index.html Web 服务器工作进程归www-data用户所有 在服务器...,索引文件位于 /usr/share/nginx/html/index.html 如果用户收到 403 Forbidden 错误,请确保 www-data用户有足够权限来读取文件。...例如,如果用户尝试访问 http://example.com/emptydir/,而 emptydir服务器目录中没有索引文件,则会返回 403 状态。

3.7K20

技术笔记:Indy控件发送邮件

工作中有个需求需要发送邮件,因为使用delphi6,所以自然就选择了indy组件,想想这事挺简单。实现过程倒是简单,看着Indydemo很快就完了,毕竟也不是很复杂功能。...看了看网上资料,就是使用另一个Indy类可以实现TIdText。...,发现在附件与正文之间内容是空白,没有收到啊。...于是我也学着别人方法再添加一次,本文最初那段代码已经知道用法了: //可能是Indybug,需要创建两次TIdText才能成功发送内容 with TIdText.Create(IdMessage1...T_T,原来base64还是TODO功能,不知道后续Indy版本有没有实现。。 发送邮件进度 由于发送邮件包括了附件,内容比较大必须给用户显示个进度条。

1.4K50

Serverless-实现一个短网址服务(二)

要点 一篇 Serverless-实现一个短网址服务(一)实现了一个生成短链接云函数,这一篇完成后半部分,实现短链接跳转。...主要需要注意内容有: 腾讯云函数API调用中如何读取path中参数 腾讯云函数中集成响应和透传响应区别 从请求短链接获取真实url 如前文所属,我们生成短链接是使用hashids库从整数id...集成响应则可以自行定义返回http状态码,消息头等等内容,我们这里是一个短网址跳转,需要返回302或者301消息,所以必须使用集成响应方式。...具体可以参见腾讯云官方文档解释: 集成响应,是指 API 网关会将云函数返回内容进行解析,并根据解析内容构造 HTTP 响应。...在使用集成响应时,需要按照 API 网关触发器集成响应返回数据结构,才可以被 API 网关成功解析,否则会出现 {"errno":403,"error":"Invalid scf response format

1.4K00
领券