Python CGI脚本,我无法将'+'plus运算符作为参数传递

2021-04-11 23:26:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图将一个参数传递给python cgi脚本,该参数包含plus运算符。在

 /cgi-bin/test.py?input=print%20"%20"%20"%20%20-+-\"

python cgi脚本很简单:

^{pr2}$

我的输出是:

 print " " "  - -\"

我不明白为什么“+”加运算符被空格代替, 我怎样才能通过“+”加号运算符?在

编辑

@Tom Anderson,回答了我的问题,我想把我的问题再延伸一点。在

我有一个java脚本函数,它调用gets url参数:

            <script type="text/javascript">

            function PostContentEditable(editableId,targetOutput)
            {
                        var texthtml = document.getElementById(editableId).innerHTML
                        var tmp = document.createElement("DIV");
                        tmp.innerHTML = texthtml ;
                        var str= tmp.textContent||tmp.innerText;

                        var xmlhttp;
                        if (str.length == 0){
                            document.getElementById(targetOutput).innerHTML = "";
                            return;
                        }
                        if(window.XMLHttpRequest){
                            xmlhttp=new XMLHttpRequest();
                        }
                        else{
                            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                        }
                        xmlhttp.onreadystatechange=function(){
                            if (xmlhttp.readyState==4 && xmlhttp.status==200){
                                 document.getElementById(targetOutput).innerHTML=xmlhttp.responseText;
                            }
                        }

                        xmlhttp.open("GET","../cgi-bin/exercise.py?input="+str,true);
                        xmlhttp.send();
            }
            </script>

有没有一个自动的内置函数来替换我需要的所有特殊字符?在

  str = escapeStringToNativeUrl(str) ?