【问题标题】:Delphi TIDHttp Get bugDelphi TIDHttp 获取错误
【发布时间】:2010-09-30 20:22:04
【问题描述】:

我刚刚在 tidhttp 组件中发现了一个错误。场景是这样的,我创建了一个小程序来使用 tidhttp get 获取网站页面。我在 ebay 上试过,一切正常,现在在 ebay 之后我尝试了 amazon,这就是我遇到问题的地方。我身边发生的事情是我在亚马逊搜索项目“联想笔记本电脑”并复制第二页的网址并将其粘贴到我的小应用程序中,发生的事情是即使我使用的网址是它总是获得第一页是第二页。你们有没有人遇到过这种情况,请查看我在下面链接中使用的源代码。此来源默认为亚马逊的第二页。提前谢谢你们。

http://www.yourfilelink.com/get.php?fid=577209

【问题讨论】:

  • @user463254:那么你今天学到了什么?如果您的软件没有按照您的预期运行,请确保在责怪他人之前对您自己的代码进行三次检查。

标签: delphi delphi-2009 indy


【解决方案1】:

您使用的是哪个版本的 Indy?当我尝试使用当前的 Indy 10.5.8 快照版本时,您的代码对我来说可以正常工作。

如果服务器返回成功回复,TIdHTTP.Get() 将保存服务器解码发送的任何数据。如果您没有看到您期望的数据,很可能是当您尝试直接访问第二页时,Amazon 正在将 TIdHTTP 重定向回第一页,或者它意外地发送了第一页的数据。无论哪种方式,我都严重怀疑这是 TIdHTTP 本身的错误。

【讨论】:

  • 我使用的是indy 10.5.5,你看到get的结果了吗?它是您这边的第二页还是第一页?因为如果在你这边你得到第二页,我会将我的 indy 更新到 10.5.8。我不认为它被重定向,因为一旦您将第二页的 url 粘贴到浏览器它会显示第二页,但使用 idhttp get 我会看到第一页。浏览器结果和 idhttp get 应该是一样的吧?
  • 您一直引用的“首页”的网址是什么?我现在所知道的是,当我让 Get() 检索第二页 URL 时,服务器会返回成功的数据。搜索词都填好了,所以我假设确实是第二页内容。
  • 嗨,雷米,我解决了这个错误。我发现了一个新的 url 来查看亚马逊的第二页,这个 url 给出了页面的正确内容。无论如何,我感谢你的帮助...摇滚老兄/,/非常感谢:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-23
  • 1970-01-01
  • 2011-03-02
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 2017-07-08
相关资源
最近更新 更多