1.Url知识补充
1.1携带query信息的Url
以"?"为分割,其前部分为不带query的Url,其后部分为query部分。
1.2不携带query信息的Url
2. 如何从一个不带query的Url构建出一个带query的Url
QUrl url("https://www.foo.com");
QUrlQuery query;
query.addQueryItem("email", "foo@bar.com");
query.addQueryItem("pass", "secret");
url.setQuery(query);
qDebug() << url;
3. 如何从一个带query的Url中提取出query部分
QUrl url("http://www.example.com/cgi-bin/drawgraph.cgi?type=pie&color=green");
QUrlQuery query(url.query());
4. 如何从一个带query的Url中的query部分提取请求"参数-值"对
QUrl url("http://www.example.com/cgi-bin/drawgraph.cgi?type=pie&color=green");
QUrlQuery query(url.query());
QList<QPair<QString, QString> > list = query.queryItems();
list[0]中存放了"type,pie",list[1]中存放了"color,green"。
5. 如何获取/设置query部分请求"参数-值"对分割符
获取
QUrl url("http://www.example.com/cgi-bin/drawgraph.cgi?type=pie&color=green");
QUrlQuery query(url.query());
QChar pair = query.queryPairDelimiter(); // '&'
QChar value = query.queryValueDelimiter(); // '='
设置
query.setQueryDelimiters('(', ')');