0

このウェブサイトがあります http://www.ingress.com/intel

ウェブサイトにアクセスするには、ユーザー名とパスワードを使用してログインする必要があります。

アクセスすると、サイトはそのデータに JSON を使用します。

私はこのJSONのことは初めてです。

Delphi を使用して Web サイトから JSON データを取得する方法の一般的な例を誰でも挙げることができますか?

ところで、私はDelphi 7を使用しています。

ありがとう。

4

2 に答える 2

9

それらは2つの質問です。

  1. HTTP サーバーからファイルを取得する方法
  2. JSON 文字列を解析する方法

最初の質問については、多くのライブラリがあり、そのうちのいくつかは次のとおりです。

  1. Internet Direct aka Indy Sockets (Delphi およびhttp://www.indyproject.org/で配布)
  2. Internet Components Suite 別名 ICS http://www.overbyte.be
  3. アララット シナプスhttp://synapse.ararat.cz/
  4. JEDI VCL http://jvcl.sf.netの UrlListGrabber
  5. Windows InternetReadFile http://msdn.microsoft.com/en-us/library/windows/desktop/aa385103.aspx
  6. ...そしてもっとたくさん。

たとえば、これはインターネットからファイルを取得するサンプルです: http://synapse.ararat.cz/doku.php/public:howto:httpgetpage

または別のライブラリのデモ(実際にはすべてのライブラリにデモがあり、HTTPからファイルをロードするのは非常に一般的なタスクです...):


JSON パーサーに関しては、ネットからコンテンツをダウンロードした後は、より狭い選択肢になります。JSON は比較的最近の傾向であり、多くの JSON パーサーは Delphi 2009+ の機能を多用しています。
個人的には、mORMot プロジェクトの JSON パーサーを使用することをお勧めします。 . そのプロジェクトには HTTP レイヤーもあるため、そのコードを使用して HTTP 経由でファイルを読み取ることもできます。

例または JSON 文字列の解析があります。

詳細については、http ://synopse.info/およびhttp://blog.synopse.info/tag/JSONを参照してください。

また、レスポンシブ コミュニティのフォーラムもあります。

SuperObject は、もともとジェネリックを中心に構築されていましたが(Delphi 2010 以降で実際に動作しています)、Delphi 7 との互換性もありますが、その機能の一部は動作しません。http://code.google.com/p/superobject/wiki/first_stepsを参照してください

また、 http://www.torry.netでいつでも他のライブラリを検索できます。

于 2013-04-11T11:53:50.080 に答える
2

Delphi アプリケーションからこの特定の Web サイトにログインするのはかなり難しいと思います。

Google アカウント経由でログインし、 Cookie を期待どおりに処理する必要があります。

したがって、Indy / Synapse / ICS / WinINet ライブラリを直接使用してデータにアクセスすることはできません。

おそらく、完全なブラウザーをアプリケーションに組み込み、JavaScript の観点からコンテンツにアクセスして、アプリケーションからブラウザーをリモート化する必要があります。

これらのコンポーネントを見てください。

次に、JSON コンテンツを解析する必要があります。ただし、最初にアプリケーションにログインできることを確認する必要があります!

于 2013-04-11T12:29:04.603 に答える