1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the documentation of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** BSD License Usage
18 ** Alternatively, you may use this file under the terms of the BSD license
19 ** as follows:
20 **
21 ** "Redistribution and use in source and binary forms, with or without
22 ** modification, are permitted provided that the following conditions are
23 ** met:
24 **   * Redistributions of source code must retain the above copyright
25 **     notice, this list of conditions and the following disclaimer.
26 **   * Redistributions in binary form must reproduce the above copyright
27 **     notice, this list of conditions and the following disclaimer in
28 **     the documentation and/or other materials provided with the
29 **     distribution.
30 **   * Neither the name of The Qt Company Ltd nor the names of its
31 **     contributors may be used to endorse or promote products derived
32 **     from this software without specific prior written permission.
33 **
34 **
35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46 **
47 ** $QT_END_LICENSE$
48 **
49 ****************************************************************************/
50 
51 //! [0]
52 content-type: text/html
53 //! [0]
54 
55 
56 //! [1]
57 header.setValue("content-type", "text/html");
58 QString contentType = header.value("content-type");
59 //! [1]
60 
61 
62 //! [2]
63 QHttpRequestHeader header("GET", QUrl::toPercentEncoding("/index.html"));
64 header.setValue("Host", "qt-project.org");
65 http->setHost("qt-project.org");
66 http->request(header);
67 //! [2]
68 
69 
70 //! [3]
71 http->setHost("qt-project.org");                // id == 1
72 http->get(QUrl::toPercentEncoding("/index.html")); // id == 2
73 //! [3]
74 
75 
76 //! [4]
77 requestStarted(1)
78 requestFinished(1, false)
79 
80 requestStarted(2)
81 stateChanged(Connecting)
82 stateChanged(Sending)
83 dataSendProgress(77, 77)
84 stateChanged(Reading)
85 responseHeaderReceived(responseheader)
86 dataReadProgress(5388, 0)
87 readyRead(responseheader)
88 dataReadProgress(18300, 0)
89 readyRead(responseheader)
90 stateChanged(Connected)
91 requestFinished(2, false)
92 
93 done(false)
94 
95 stateChanged(Closing)
96 stateChanged(Unconnected)
97 //! [4]
98 
99 
100 //! [5]
101 http->setHost("www.foo.bar");       // id == 1
102 http->get("/index.html");           // id == 2
103 http->post("register.html", data);  // id == 3
104 //! [5]
105 
106 
107 //! [6]
108 requestStarted(1)
109 requestFinished(1, false)
110 
111 requestStarted(2)
stateChanged(HostLookup)112 stateChanged(HostLookup)
113 requestFinished(2, true)
114 
115 done(true)
116 
117 stateChanged(Unconnected)
118 //! [6]
119 
120 
121 //! [7]
122 void Ticker::getTicks()
123 {
124   http = new QHttp(this);
125   connect(http, SIGNAL(done(bool)), this, SLOT(showPage()));
126   http->setProxy("proxy.example.com", 3128);
127   http->setHost("ticker.example.com");
128   http->get("/ticks.asp");
129 }
130 
showPage()131 void Ticker::showPage()
132 {
133   display(http->readAll());
134 }
135 //! [7]
136