url请求传值中间有#号时后面的值都会获取不到

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了url请求传值中间有#号时后面的值都会获取不到相关的知识,希望对你有一定的参考价值。

参考技术A "#"号在页面会被当成页面的特殊符号使用,所以,通过url后面带参数的方式传参数时如果参数中带有"#"号进行转义或者改变传值方式 参考技术B 用debug跟踪一下嘛,或者在你认为有可能出错的地方把该值打印出来看一下也是可以滴。

Qt笔记-使用正则表达式匹配URL及获取Get请求后面的参数(QRegExp)

如需要拿到xxxxx的值:

http://www.it1995.cn/xxxxxxxx

代码如下:

QRegExp regExp;
regExp.setPattern("http://www.it1995.cn/([^()\\"' ]*)");

如现提取的url为:

/db?table=myTable

对应的代码:

    //提取msg中的url和参数
    QStringList list = msg.split("?");
    this->m_baseUrl = list[0];
    if(list.size() > 1){

        QStringList paraList;
        QRegExp rx("(\\\\w+)=(\\\\w+)");
        int pos = 0;
        while ((pos = rx.indexIn(list[1], pos)) != -1) {

            paraList << rx.cap(0);
            pos += rx.matchedLength();
        }

        for(QString item : paraList){

            this->m_para.insert(item.split("=")[0], item.split("=")[1]);
        }
    }

截图如下:

 

以上是关于url请求传值中间有#号时后面的值都会获取不到的主要内容,如果未能解决你的问题,请参考以下文章

http GET 请求的参数怎么传递,放在body里用json形式后台request读流获取不到数据。

Qt笔记-使用正则表达式匹配URL及获取Get请求后面的参数(QRegExp)

wepy父组件onload中请求数据,更新.sync动态传值绑定的数据,子组件onload中获取不到值。

wepy父组件onload中请求数据,更新.sync动态传值绑定的数据,子组件onload中获取不到值。

java获取浏览器地址栏地址

java中request问题