package Ġcommon Ċ Ċ import Ġcom . google . gson . Gson Builder Ċ import Ġcom . google . gson . JsonObject Ċ import Ġorg . apache . http . NameValuePair Ċ import Ġorg . apache . http . client . Client Protocol Exception Ċ import Ġorg . apache . http . client . entity . Url Encoded Form Entity Ċ import Ġorg . apache . http . client . methods . HttpPost Ċ import Ġorg . apache . http . impl . client . HttpClient s Ċ import Ġorg . apache . http . message . Basic NameValuePair Ċ import Ġorg . apache . http . util . Entity Utils Ċ import Ġjava . io . BufferedReader Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Reader Ċ import Ġjava . io . Unsupported EncodingException Ċ import Ġjava . util .* Ċ Ċ object ĠGoogle { ĊĠĠĠ Ġvar Ġre captcha Key : String Ġ= Ġ"" ĊĠĠĠ Ġvar Ġcapt cha Enabled Ġ= Ġtrue ĊĊĠĠĠ Ġfun Ġcheck Captcha ( value : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! captcha Enabled ) Ġreturn Ġtrue ĊĊĠĠĠĠĠĠĠ Ġvar Ġret Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Pretty Print ing () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. disable Html Esc aping () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. serialize Null s () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create () ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhttp client Ġ= ĠHttpClient s . create Default () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpost Ġ= ĠHttp Post (" https :// www . google . com / rec aptcha / api / site verify ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpost Parameters Ġ= Ġmutable ListOf < NameValuePair >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Parameters . add ( Basic NameValuePair (" secret ", Ġre captcha Key )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Parameters . add ( Basic NameValuePair (" response ", Ġvalue )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost . entity Ġ= ĠUrl Encoded Form Entity ( post Parameters ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠExecute Ġthe Ġpost Ġrequest ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġhttp client . execute ( post ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrd Ġ= ĠBufferedReader ( InputStream Reader ( response . entity . content )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrd . lines (). forEach ({ Ġresult . append ( it ) Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġthe Result Ġ= Ġresult . toString () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" sending : Ġ" Ġ+ post Parameters . toString ()) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Google ĠRETURN :") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( the Result ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġentity Ġ= Ġresponse . entity ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEntity Utils . consume ( entity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . close () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgoogle Resp Ġ= Ġgson . fromJson ( the Result , ĠJsonObject :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġret Ġ= Ġgoogle Resp . get (" success "). as Boolean ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠUnsupported EncodingException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Arrays . toString ( e . stack Trace )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClient Protocol Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Arrays . toString ( e . stack Trace )) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ( Arrays . toString ( e . stack Trace )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġret ĊĠĠĠ Ġ} Ċ }