【问题标题】:Receiving only a part of string which is passed as a parameter to http get command - Semicolon Perhaps?仅接收作为参数传递给 http get 命令的字符串的一部分 - 分号也许?
【发布时间】:2016-10-10 00:39:07
【问题描述】:

我正在尝试将此字符串作为 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")

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

【问题讨论】:

  • 是的,但我删除了这个问题,因为其中包含更多细节
  • 你刚才删了,不然我连不上。很高兴你这样删除我的答案
  • @KevinKrammer 我要求一个明确接受一个字符串并返回一个字符串的答案。您的字符串正在使用我不想要的 QUrl。您希望我取消删除它并指出它吗?让我知道什么对你有用
  • @KevinKrammer 我没有删除答案

标签: django string qt http get


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 2017-01-19
    • 1970-01-01
    • 2016-10-01
    相关资源
    最近更新 更多