{
  "qtng.org": {
    "/": {
      "date": "2026-02-14T06:36:23Z",
      "httpProtocol": "http/1.1, tls/1.3",
      "httpStatus": 200,
      "ipAddress": "8.217.171.226",
      "ipASN": "Alibaba US Technology Co., Ltd.",
      "ipCountry": "Hong Kong",
      "httpHeaderHash": "5H4HXKIHUK2RMA7BOPEBPWKY7P4YMBUV",
      "httpHeaderTechnologies": [
        "Nginx:1.18.0"
      ],
      "httpHeaderUrls": [],
      "httpHeaderByteSize": 313,
      "httpBodyHash": "FQG56DQGYELH6UFYHNHAQUPHT6C6VWND",
      "httpBodyTechnologies": [
        "jQuery",
        "Pygments",
        "Sphinx:2.3.1",
        "Underscore.js"
      ],
      "httpBodyUrls": [
        "_static/underscore.js",
        "intro.html#create-socket-client",
        "references.html#scopediowatcher",
        "_static/pygments.css",
        "intro.html#http-client",
        "references.html#http-errors",
        "practices.HANS.html#coroutinegroup",
        "_static/jquery.js",
        "index.HANS.html#id5",
        "references.html#password-hash-table",
        "#indices-and-tables",
        "http://sphinx-doc.org/",
        "intro.html#why-coroutines",
        "references.html#socks5-proxy",
        "references.html#deletelaterfunctor-t",
        "references.html#use-libev-instead-of-qt-eventloop",
        "#source-code",
        "intro.html#cryptography",
        "#a-glance-at-qtnetworkng",
        "intro.html#cross-platforms",
        "references.html#start-coroutines",
        "_static/classic.css",
        "references.html#symmetric-encryption-and-decryption",
        "genindex.html",
        "references.html#socket",
        "references.HANS.html#id11",
        "references.html#httpresponse",
        "_static/documentation_options.js",
        "references.html#the-essential-and-examples",
        "references.html#communicate-between-two-coroutine",
        "search.html",
        "references.html",
        "index.HANS.html#id2",
        "references.html#httprequest",
        "practices.HANS.html#qsharedpointer-t",
        "references.html#other-auxiliary-classes",
        "references.html#basic-network-programming",
        "references.html#the-internal-how-coroutines-switch",
        "intro.HANS.html#cmakeqtnetworkng",
        "intro.html#symmetrical-encryption-and-decryption",
        "practices.html#pass-qsharedpointer-t-to-coroutine-entry",
        "practices.html#the-difference-between-send-and-sendall-recv-and-recvall",
        "references.html#currentloopstorage",
        "index.HANS.html#id6",
        "_static/doctools.js",
        "intro.html#the-coroutine",
        "references.html#functor",
        "references.html#utitilies",
        "intro.HANS.html#socketsslsocket",
        "references.html#httpsession",
        "references.HANS.html#id15",
        "references.html#configuration-and-building",
        "intro.html#use-qtnetworkng-in-cmake-projects",
        "references.html#certificates-and-certificate-requests",
        "references.html#use-coroutines",
        "https://qtng.org/index.HANS.html",
        "references.html#yieldcurrentfunctor",
        "practices.HANS.html#send-sendall-recv-recvall",
        "intro.HANS.html#id3",
        "intro.HANS.html#id1",
        "references.HANS.html",
        "intro.html#get-data-from-httpresponse",
        "https://github.com/hgoldfish/qtnetworkng/",
        "intro.HANS.html#id8",
        "references.html#http-server",
        "#welcome-to-qtnetworkng-s-documentation",
        "references.html#manage-many-coroutines-using-coroutinegroup",
        "index.HANS.html#id3",
        "intro.HANS.html#qt-gui",
        "references.HANS.html#id23",
        "intro.html#create-socket-server",
        "intro.html#public-key-algorithm",
        "references.html#operate-coroutines",
        "intro.html#get-url-from-http-server",
        "intro.html#certificate-and-certificaterequest",
        "#user-guide",
        "index.HANS.html#id1",
        "references.html#formdata",
        "references.html#lambdafunctor",
        "practices.html#use-coroutinegroup-to-manage-coroutines",
        "references.html#sslsocket",
        "references.html#tls-cipher-suites",
        "references.HANS.html#id14",
        "https://qtng.org/index.html",
        "index.HANS.html",
        "intro.HANS.html",
        "index.HANS.html#id4",
        "_sources/index.rst.txt",
        "references.HANS.html#http",
        "references.html#basic-http-server",
        "#",
        "intro.html",
        "py-modindex.html",
        "references.html#http-client",
        "references.html#application-server",
        "references.html#callineventloopcoroutine",
        "practices.HANS.html",
        "references.html#public-key-algorithms",
        "#language",
        "references.HANS.html#id1",
        "references.html#socketserver",
        "intro.HANS.html#qmakeqtnetworkng",
        "#author",
        "intro.HANS.html#http",
        "_static/language_data.js",
        "intro.html#message-digest",
        "references.HANS.html#id20",
        "practices.html",
        "references.html#io-operations",
        "references.html#donothingfunctor",
        "references.html#disable-ssl-support",
        "intro.HANS.html#id2",
        "intro.html#send-data-to-http-server",
        "intro.html#the-socket-and-sslsocket",
        "intro.html#use-qtnetworkng-in-qmake-projects",
        "intro.html#special-considerations-for-qt-gui-application"
      ],
      "httpBodyMetaTags": {},
      "httpBodyByteSize": 29337,
      "httpBodyPageTitle": "Welcome to QtNetworkNg’s documentation! — qtnetworkng 0.1 documentation"
    }
  }
}