2015-07-13 96 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」) –

回答