2015-07-13 99 views
2

从fakesmsc获取短信我有使用telnet拉短信的Kannel的从SMSC假货测试Python应用程序: -远程登录到的Kannel

cmd = '(sleep .5;echo 6666 7777 text ;sleep .5;) | telnet localhost 10000' 
code, response = commands.getstatusoutput(smart_str(cmd, strings_only=True)) 
return HttpResponse(content=response, content_type="text/plain") 

含罗马字符显示正常,但Unicode字符显示为消息????分数。

的smsbox日志有文权: -

2015-07-13 14:36:03 [3751] [3] INFO: smsbox: Got HTTP request </cgi-bin/sendsms> from <127.0.0.1> 
2015-07-13 14:36:03 [3751] [3] INFO: sendsms used by <kannel> 
2015-07-13 14:36:03 [3751] [3] INFO: sendsms sender:<kannel:CLIPPD> (127.0.0.1) to:<911111111118> msg:<अगर 
2015-07-13 14:36:03 [3751] [3] DEBUG: Stored UUID 24a89307-cd46-4e0b-b153-4ed0a9c46de6 

这说明也没关系: -

return HttpResponse(content=u'\u0905\u0917\u0930', content_type="text/plain") 

所以问题很可能与处理通过telnet: -

cmd = '(sleep .5;echo 6666 7777 text ;sleep .5;) | telnet localhost 10000' 
code, response = commands.getstatusoutput(smart_str(cmd, strings_only=True)) 

我也试过telnet -L但没有效果。

我对这个问题的根源在这里需要telnet这个问题毫无头绪。请帮忙。

+0

为什么不使用https://github.com/adammck/pykannel? 或者是强制使用telnet + bash? –

+0

听起来不错。你能否给出答案? – Himanshu

+0

您是否尝试过将内容编码为utf-8?返回HttpResponse(content = response.encode('utf-8'),content_type =“text/plain”) –

回答