BeanShell Sampler 可以支持 http 请求和 tcp 响应。下面为 http 请求的 BeanShell 示例代码:
import org.apache.commons.io.IOUtils; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import java.nio.charset.StandardCharsets;
CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet("http://url.to.request.com/"); HttpResponse httpResponse = httpClient.execute(httpGet); String response = IOUtils.toString(httpResponse.getEntity().getContent(), StandardCharsets.UTF_8.name()); vars.put("response", response);
而下面是 tcp 响应的示例代码:
import java.net.; import java.io.;
Socket socket = new Socket("hostname", port); OutputStream outputStream = socket.getOutputStream(); BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream)); bufferedWriter.write("Request Message"); bufferedWriter.flush();
InputStream inputStream = socket.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String response = bufferedReader.readLine();
vars.put("response", response);