问题标签 [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.

0 投票
1 回答
833 浏览

delphi - Delphi - indy 同时使用多个 IdHTTP 发送帖子

如何同时发送多个发布请求TIdHTTP

我尝试使用三个线程来做到这一点,但每条帖子之间都有一秒钟的延迟。

如何在同一秒内发送所有帖子?

0 投票
1 回答
1473 浏览

indy - 如何抑制 Indy IdHTTP 错误消息框?

我有一个 IdHTTP 组件,当我收到 HTTP 错误(例如 404)时,Indy 会显示一个消息框。我想处理这种“沉默”并阻止 Indy 显示这一点。

我还没有找到任何参数来关闭它。有任何想法吗?

0 投票
2 回答
2291 浏览

delphi - 如何清除 Indy TIdHTTP BasicAuthentication 凭据?

我正在使用 Indy TIdHTTP 获取带有 BasicAuthentication 的请求。

代码工作正常,但 TIdHTTP 在第一个 401 之后不会清除 BasicAuthentication 凭据,如果用户使用正确的登录密码重新输入凭据并再次发送请求。用户必须登录两次才能授权。

用户操作顺序:

步骤 1. 用户输入错误的登录密码:ResponseCode = 401

步骤 2. 用户类型正确的登录密码:ResponseCode = 401

步骤 3. 用户类型正确的登录密码:ResponseCode = 200

我认为第 2 步的结果是一个错误。我应该怎么办?

简单代码:

0 投票
1 回答
1705 浏览

multithreading - delphi - 在长轮询请求中间断开 IdHTTP

GET我正在我的 deplhi 项目中实现实时聊天,它通过向服务器发出请求来接收新消息。如果没有新消息出现,服务器本身会在 20 秒后关闭连接。上面描述的代码位于一个单独的线程中(它是在访问聊天“页面”时创建的),因此它不会冻结 GUI。当我从聊天转到非聊天页面时,我在外部调用此代码thread_chat以使线程退出:

但是,由于我的服务器超时为 20 秒,因此线程实际上仅在收到响应时才关闭(是的,这听起来合乎逻辑,因为我的线程循环是while not Terminated do)。所以我正在寻找的是在请求中间关闭 HTTP 连接。

尝试#1

最初我TerminateThread通过称它为

这工作正常,直到我第二次尝试杀死线程 - 我的应用程序完全冻结。所以我去了

尝试#2

我创建了一个全局变量URL_HTTP: TIdHTTP,并使用此函数接收服务器页面内容:

当我在外面调用这段代码时thread_chat

我得到EidClosedSocket了异常(在写这篇文章时经过一些测试,我得到了EAccessViolation错误)。

我没有主意了。如何在服务器响应之前关闭 HTTP 请求?


0 投票
2 回答
978 浏览

delphi - Delphi - 如果找不到返回页面错误,则使 Idhttp 循环运行

如果找不到返回 404 页面,我如何使 Idhttp 在循环中运行 问题是“GOTO CheckAgain”导致进入或退出 TRY 语句

0 投票
0 回答
1913 浏览

delphi - Delphi idHTTP上传文件

我尝试使用标准格式将文件上传到 sharepoint 2013。我使用TIdHTTP,TIdSSLIOHandlerSocketOpenSSLTIdLogDebug组件:

事件TIDDebugLog.OnReceive获取错误401 Unauthorized

我需要什么来解决这个错误?

0 投票
1 回答
2696 浏览

delphi - Delphi 下载目录中的文件

我找到了一些解决方案,但它们过于复杂或根本不起作用。我必须从服务器下载 200 张图片(小图片,每张约 15 kB)。我认为我可以使用 IdHTTP:

这是我猜最常见的方式,它工作得很好。顺便说一句,根据我上面所说的,我必须下载多个文件,解决方案是:

等等。我还有一个进度条,指示下载进度。

问题

有没有更有效的方法来做到这一点?例如,向 IdHTTP 传递一个包含所有链接和必须下载的文件名的列表。

0 投票
3 回答
1113 浏览

delphi - Delphi:使用 Indy (TidHttp) 下载更新文件时出现问题

  • Q1:为什么在下载过程中无法关闭模态表单
  • Q2:为什么下载完成后进度条没有100%丰富(是重绘的一种方式?)
  • Q3:为什么如果我在下载过程中停止并重新启动与 Web 服务器的连接,传输会在没有任何错误提示的情况下停止,并且永远不会继续?我该怎么做才能获取并捕获错误并返回初始状态(下载并在位置 0 处安装进度条)

备注:IdAntiFreeze 已激活

0 投票
1 回答
1055 浏览

multithreading - Delphi:使用 IdHttp 和 Thread 停止下载

我定义THttpThread了一个用于下载文件的线程。如果模态表单已关闭或按下取消按钮,我想停止下载。

在下面的示例中,我得到访问冲突可能是因为我重用线程的方式。

我从How stop (cancel) a download using TIdHTTP and some many others中播下了答案,但我仍然不知道如何更新正在运行的线程的属性。

0 投票
0 回答
1552 浏览

indy - TIdHTTP 10.6.2 错误:套接字错误 #11001 和 #10051

我真的再次需要你的帮助。

我尝试在 C++ Builder XE8 上使用 Indy 10.6.2.5263 的 TIdHTTP(随 XE8 更新 1 提供)构建一个小型下载管理器应用程序。

但是,Socket Error #11001 - Host not found当目标下载地址为http://www.rarlab.com/rar/wrar53b1.exe. 此外,Socket Error #10051 - Network is unreachable当下载地址更改为http://5.135.104.98/rar/wrar53b1.exe.

我不知道为什么我总是不断收到这些错误,因为我所有其他安装的应用程序(Firefox、YM、IDM等)通常都连接到 Internet。

我正在使用以下简单代码。

UNIT1.CPP