仅接收作为参数传递给http get命令的字符串的一部分 - 分号也许?

时间:2016-10-09 16:17:01

标签: django string qt http get

我正在尝试将此字符串作为get参数传递。该字符串以以下字符开头:

字符串名称是some_html,它基本上是一些html

 <p style=\"-qt-block-indent: 0; text-indent: 0px; margin: 18px 0px 12px 0px;\"><span style=\"font-size: xx-large; 

但是我只能得到这个

<p style=\\"-qt-block-indent: 0

这就是我传递字符串的方式:

http://127.0.0.1:8000/service_SubmitResult?htmlstring=some_html

对我可能做错了什么的任何想法。我通过Qt发送字符串并在Django端点上接收它?我相信它是因为semicolon。我在发送之前使用以下函数对url进行编码

QUrl ServiceCalls::UrlFromUserInput(const QString& input)
{
   QByteArray latin = input.toLatin1();
   QByteArray utf8 = input.toUtf8();
   if (latin != utf8)
   {
      // URL string containing unicode characters (no percent encoding expected)
      return QUrl::fromUserInput(input);
   }
   else
   {
      // URL string containing ASCII characters only (assume possible %-encoding)
      return QUrl::fromUserInput(QUrl::fromPercentEncoding(input.toLatin1()));
   }
}

为什么我只收到字符串的一部分。在django上,我按以下方式获取参数值

def service_foo(request):
    try:
        htmlResult = request.GET.get('htmlstring', '')
        ....
        return HttpResponse();
    except Exception as e:
        print(e)
    return HttpResponse("Error Service from sqlite")

有关我如何解决此问题或我可以使用的其他选项的任何建议?

1 个答案:

答案 0 :(得分:0)

我认为你必须在发送之前使字符串,html转义 在qt中有一些方法可以做到这一点。 看一下this问题。