问题标签 [idhttp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xml - IdHTTP XML,正在获取 xml,请帮忙
我无法从该站点获取 IdHTTP XML 文档。我总是得到答案 403 / HTTP 1.1 和 text/html(需要 text/xml)
当使用 MSXML 并获得 XML 文件时。但我需要一个代理,所以需要 idhtop。使用突触时不会改变。
使用 msxml:
如何设置 IdHTTP?所有设置都更改了 100 次 还是连接到代理 MSXML?
xml - 来自服务器 idhttp 的 XML 响应
获取发送请求到服务器并收到错误 409,程序暂停,使用 try except 并忽略她,我也收到错误 409 和 XML 响应,我该如何阅读?
HTTP.Response.gettext - 不给我,只有关于服务器的信息
http.response.rawheaders.commatext - 只有关于服务器的信息
内容长度匹配
答案可以在嗅探器中看到
我在程序中得到答案?
delphi - 使用 TIdHttp 逐步下载文件
我想使用 TIdHttp (Indy10) 实现一个简单的 http 下载器。我从互联网上找到了两种代码示例。不幸的是,他们都没有100%让我满意。这是代码,我想要一些建议。
变体 1
代码很紧凑,很容易理解。问题是它在下载开始时分配磁盘空间。另一个问题是我们不能直接在 GUI 中显示下载进度,除非代码在后台线程中执行(或者我们可以绑定 HttpClient.OnWork 事件)。
变体 2:
首先我们从服务器查询文件大小,然后我们分段下载文件内容。检索到的文件内容将在完全接收后保存到磁盘。潜在的问题是我们必须向服务器发送多个 GET 请求。我不确定某些服务器(例如 megaupload)是否会限制特定时间段内的请求数量。
我的期望
- 下载器应该只向服务器发送一个 GET 请求。
- 下载开始时不得分配磁盘空间。
任何提示表示赞赏。
delphi - 停止 idhttp.get 时的析构函数(indy,delphi)
我的应用程序可以从 memo1 中的每个 url 下载一张图片。它使用 idhttp.get 并有一个跳过按钮。跳过后下载下一张图片。
Q1:你有代码要放入析构函数吗?“终止”和“等待”的代码是什么? 我在另一个网站上找到了这个:
Q2:如何调用析构函数并使其工作?
Q3:你有提示(尤其是安全问题)和额外的代码行吗?
我的应用程序代码:
delphi - 如何跟踪 TIdHttp 的原始请求和响应内容
我使用 delphi 和 python 实现了相同的代码(发布表单)。python代码完美运行,但delphi代码失败。在 python 中,我可以简单地编写httplib2.debuglevel=4
来查看实际发送到服务器的内容。但我不知道如何在delphi中打印内容。
任何提示表示赞赏。
delphi - 使用 IdHttp 解码响应内容失败
我使用 TIdHttp 来获取网页内容。响应头指示内容编码为 utf8。我想将控制台中的内容打印为 CP936(简体中文),但实际内容不可读。
我在 python 中做同样的事情(使用 httplib2)没有任何问题。
更新 1
我调试了原始响应并注意到内容被压缩了。
我试图将 IdCompressorZLib 实例分配给 IdHttp 实例。不幸的是,应用程序在解压缩 gzip 内容时会崩溃。测试地址为“http\://www.baidu.com”(编码=gb2312)。
更新 2
我还尝试下载一个 gzipped jquery 脚本文件,它只包含 ascii 字符。这次成功了,这意味着是Indy库的问题。如果我没有错,我应该关闭这个问题。
delphi - 以编程方式从文件主机下载文件
我有一些文件上传到文件主机,我想使用 Delphi 以编程方式下载这些文件。它们不需要任何验证码或类似的东西,通常您只需按一个按钮即可获得文件。让我们以此为例。
现在我想我可以简单地获取立即下载 - 按钮指向的 URL,使用 TIdHTTP.Get 请求并将其保存为 MemoryStream / Filestream / 任何东西。复制链接地址指向这个站点,当输入到我的浏览器时会弹出下载提示。
但是,使用检查工具我发现它包含一个 302 重定向到原始站点,因此在执行 GET 请求时我必须设置 HandleRedirects 以避免错误消息,并且我得到原始站点的 HTML 代码而不是我的文件曾怀疑。
所以,我有点困惑 1)我以某种方式从浏览器获取文件,尽管 URL 只包含 302 重定向到上一页, 2)我可以在我的代码中实现相同的目标。你们中的任何人可能会在那里教育我一点吗?;)
编辑
感谢您的输入,我可以找到问题,结果是我必须使用的地址是使用随机数生成的,该随机数可以在原始源中找到。因此,首先发布一个获取号码的请求就可以了。我已经相应地编辑了代码。
delphi - 使用 IdHTTP 将字节数组发送到 PHP
我正在尝试使用 IdHTTP 组件构建一个简单的客户端 - 服务器 - 客户端应用程序。如何使用 IdHttp 组件将字节数组从 client1 发送到位于 www.example.com 的 php 文件,并让该 php 文件使用 IdHTTp 发送相同的数据以供 client2 使用?也许我在这里走错了路。
delphi - 带有 Indy 的 HTTP 连续分组流
我有一个 JSON-RPC 服务,其中一个请求返回一个连续的 JSON 对象流。
IE :
当然,没有 Content-Length,因为流是无穷无尽的。
我正在使用自定义 TStream 后代来接收和解析数据。但是在内部缓冲数据并且在收到字节TIdHttp
之前不会将其传递给我。RecvBufferSize
这导致:
显然这不会发生,因为 30 分钟前重要的消息应该在 30 分钟前传递。
我希望 Indy 做套接字所做的事情:如果有可用数据,则读取到 RecvBufferSize 或更少并立即返回。
我发现这个讨论从 2005 年开始,一些可怜的人试图向 Indy 开发人员解释这个问题,但他们不理解他。(读它;这是一个悲伤的景象)
无论如何,他通过编写自定义 IOHandler 后代来解决这个问题,但那是在 2005 年,也许今天有一些现成的解决方案?
json - Http获取json成字符串
我正在尝试通过 HTTP GET 方法获取对字符串的 json 响应,但我得到的只是:
我正在使用这样的代码:
它返回 json 数据。我需要得到对 memo1 的 json 响应。
我怎样才能做到这一点?