使用Delphi从网站获取JSON数据
有这个网站 要访问该网站,我们必须使用用户名和密码登录 一旦被访问,该站点将使用JSON作为其数据 我对这件事还不熟悉 任何人都可以给出一个使用Delphi从网站获取JSON数据的通用示例 顺便说一下,我正在使用Delphi7使用Delphi从网站获取JSON数据,json,delphi,http,delphi-7,http-authentication,Json,Delphi,Http,Delphi 7,Http Authentication,有这个网站 要访问该网站,我们必须使用用户名和密码登录 一旦被访问,该站点将使用JSON作为其数据 我对这件事还不熟悉 任何人都可以给出一个使用Delphi从网站获取JSON数据的通用示例 顺便说一下,我正在使用Delphi7 谢谢。这是两个问题 如何从HTTP服务器获取文件 如何解析JSON字符串 对于第一个问题,有很多图书馆,其中一些: Internet Direct又名Indy套接字(与Delphi和Windows一起分发) 因特网组件套件 阿拉特突触 来自绝地VCL的UrlListGra
谢谢。这是两个问题
InternetReadFile
至于JSON解析器,在您从网络下载内容之后,这是一个更狭隘的选择:JSON是一个相对较新的趋势,许多JSON解析器大量使用Delphi 2009+的功能
我个人认为您最好尝试使用mORMot项目的JSON解析器。 该项目也有HTTP层,所以您也可以使用它们的代码通过HTTP读取文件 以下是解析JSON字符串的示例:
而且你总是可以在上搜索更多的库。我想从Delphi应用程序登录这个特定的网站是相当困难的 您需要通过谷歌帐户登录,并按预期处理cookie 因此,我担心您将无法使用任何直接的Indy/Synapse/ICS/WinINet库访问数据 您可能需要在应用程序中嵌入完整的浏览器,然后从JavaScript的角度访问内容,从应用程序中远程访问浏览器 看看这些组件:
(即Internet Explorer),可在Delphi中获得李>TWebBrowser
然后必须解析JSON内容。但您必须首先确保您可以登录应用程序 TIdHTTP.Get是您正在寻找的,关于JSON,将其视为一个“文本文件”,您需要了解如何进行“登录”(您需要点击的位置以及用户名和密码的参数名),在TIdHTTP中启用“保留cookies”,最后,只需点击将返回JSON“文件”的链接即可。可能重复@Arioch,根据我对代码的快速阅读,Superobject不需要泛型。如果可用,它将使用泛型和新的RTTI。是专门为Delphi 7兼容性而设计的。我自学了JSON如何与谷歌提供的所有漂亮的在线资源协同工作。@ComputerSaysNo感谢您的简单解释。这就是我要找的。因此,基本上,我可以简单地使用HTTPGET或POST,然后JSON数据将出现在接收到的“html源”中。好吧,我现在明白了:)这不是一个答案(:@computersays这不是最好的答案,因为“问题”也不是真正的问题。