1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | package com.tedneward.scitter { // ... object Scitter { // ... private[scitter] def exec ute(url : String) = { val client = new HttpClient() val method = new GetMethod(url) method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false)) client.executeMethod(method) (method.getStatusLine().getStatusCode(), method.getResponseBodyAsString()) } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | package com.tedneward.scitter { // ... object Scitter { /** * Ping the server to see if it's up and running. * * Twitter docs say: * test * Returns the string "ok" in the requested format with a 200 OK HTTP status code. * URL: http://twitter.com/help/test.format * Formats: xml, json * Method(s): GET */ def test : Boolean = { val (statusCode, statusBody) = execute("http://twitter.com/statuses/public_timeline.xml") statusCode == 200 } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | package com.tedneward.scitter { // ... object Scitter { // ... private[scitter] def execute(url : String, username : String, password : String) = { val client = new HttpClient() val method = new GetMethod(url) method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false)) client.getParams().setAuthenticationPreemptive(true) client.getState().setCredentials( new AuthScope("twitter.com", 80, AuthScope.ANY_REALM), new UsernamePasswordCredentials(username, password)) client.executeMethod(method) (method.getStatusLine().getStatusCode(), method.getResponseBodyAsString()) } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package com.tedneward.scitter { // ... object Scitter { // ... private[scitter] def execute(url : String) : (Int, String) = execute(url, "", "") private[scitter] def execute(url : String, username : String, password : String) = { val client = new HttpClient() val method = new GetMethod(url) method.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(3, false)) if ((username != "") && (password != "")) { client.getParams().setAuthenticationPreemptive(true) client.getState().setCredentials( new AuthScope("twitter.com", 80, AuthScope.ANY_REALM), new UsernamePasswordCredentials(username, password)) } client.executeMethod(method) (method.getStatusLine().getStatusCode(), method.getResponseBodyAsString()) } } } |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |