首页
学习
活动
专区
工具
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

4.1K31
  • 【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.5K31

    服务器反爬虫攻略: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.4K50

    反爬虫攻略: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列表,仅供参考,同时也欢迎你来补充。

    2K10

    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.4K10

    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

    67020

    基于openresty防护源站

    1.防爬虫 本质上爬虫也是一种请求,只不过是由脚本或者机器人自动发起的,那么请求就会带referer,就会带ua,一般爬虫都会带一些特殊的标识,对于referer,我们可以限制我们认可的域名,对于ua,...三、基于openresty实现源站防护 openresty在nginx的基础上提供了扩展能力以及很多强大的模块,此处基于openresty实现,具体openresty安装方式,不做赘述。...#forbidden Scrapy if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #forbidden UA...if ($http_user_agent ~ "Bytespider|FeedDemon|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot...用户行为分析:监控网站访问者的行为模式,识别不正常的高频率、高速度或者无规律的请求,以及非人类的操作模式。 动态内容生成:通过动态生成的内容或者验证码来防止简单的爬虫程序识别和获取网站内容。

    17010

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

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

    79460
    领券