就是说数据库记录每次测试请求的响应时间,成功与否。统计数据最后出来。
只所以用多线程,是因为单线程顺序请求100次,不能模拟服务器真正的情况。
HttpClient httpclient = new DefaultHttpClient()HttpGet httpget = new HttpGet("http://localhost/")
HttpResponse response = httpclient.execute(httpget)
HttpEntity entity = response.getEntity()
if (entity != null) {
InputStream instream = entity.getContent()
int l
byte[] tmp = new byte[2048]
while ((l = instream.read(tmp)) != -1) {
}
}
大体上就是这样了。
/** 得到返回的内容
*/
public static String getResult(String urlStr, String content) {
URL url = null
HttpURLConnection connection = null
try {
url = new URL(urlStr)
connection = (HttpURLConnection) url.openConnection()
connection.setDoOutput(true)
connection.setDoInput(true)
connection.setRequestMethod("POST")
connection.setUseCaches(false)
connection.connect()
DataOutputStream out = new DataOutputStream(connection.getOutputStream())
out.writeBytes(content)
out.flush()
out.close()
BufferedReader reader = new BufferedReader(new InputStreamReader(connection
.getInputStream(), "utf-8"))
StringBuffer buffer = new StringBuffer()
String line = ""
while ((line = reader.readLine()) != null) {
buffer.append(line)
}
reader.close()
return buffer.toString()
} catch (IOException e) {
e.printStackTrace()
} finally {
if (connection != null) {
connection.disconnect()
}
}
return null
}
追问:
没注释吗?
追答:
/*
* 得到返回的内容
*/
public static String getResult(String urlStr, String content) {
URL url = null
HttpURLConnection connection = null
try {
url = new URL(urlStr)
connection = (HttpURLConnection) url.openConnection()//新建连接实例
connection.setDoOutput(true)//是否打开输出流 true|false
connection.setDoInput(true)//是否打开输入流true|false
connection.setRequestMethod("POST")//提交方法POST|GET
connection.setUseCaches(false)//是否缓存true|false
connection.connect()//打开连接端口
DataOutputStream out = new DataOutputStream(connection.getOutputStream())//打开输出流往对端服务器写数据
out.writeBytes(content)//写数据,也就是提交你的表单 name=xxx&pwd=xxx
out.flush()//刷新
out.close()//关闭输出流
BufferedReader reader = new BufferedReader(new InputStreamReader(connection
.getInputStream(), "utf-8"))//往对端写完数据 对端服务器返回数据 ,以BufferedReader流来读取
StringBuffer buffer = new StringBuffer()
String line = ""
while ((line = reader.readLine()) != null) {
buffer.append(line)
}
reader.close()
return buffer.toString()
} catch (IOException e) {
e.printStackTrace()
} finally {
if (connection != null) {
connection.disconnect()//关闭连接
}
}
return null
}