2013-05-29 38 views
0

基於Twilio的人體/非人體檢測 - 我試圖檢測人員或機器人是否通過如下所示的代碼檢測到呼叫Twilio - 人類/非人類/機器人檢測(如果機器參數)

HashMap<String, String> params = new HashMap<String, String>(); 
params.put("From", myfromnumber); 
params.put("To", tonumber); 
params.put("Url", Url); 
params.put("Method", "POST"); 
params.put("IfMachine", "Continue"); 

CallFactory callFactory = account.getCallFactory(); 
Call call = callFactory.create(params); 
out.println("<p>Call status: " + call.getStatus() + "</p>"); 

if (machine.equals(request.getParameter("AnsweredBy")){ 
    System.out.println("Its machine"); 
} else{ 
    System.out.println("Not Machine"); 
}; 

出於某種原因,request.getParameter("AnsweredBy")總是作爲NULL,如果我明白它應該是「機器」或「人」。

請指教。

由於

回答

1

AnsweredBy參數沿着在網絡掛接請求時一個呼叫通過REST API(check the docs here)創建後製成通過。在這種情況下,您使用正確的IfMachine參數創建了call對象,因此這是戰鬥的一半。

然後,在Url的單獨(Servlet?)請求處理程序中,您將有權訪問request.getParameter("AnsweredBy")。如果在這種情況下沒有定義,我們需要查看上面代碼片段之外的實際代碼。

希望這會有幫助, -Kevin