linux服务器上执行http请求命令(Java)

第一步(封装Http请求)
Get:
public static String sendGet(String url, String param) {
String result = “”;
BufferedReader in = null;
try {
String urlName = url;
if (param != null && !"".equals(param)) {
urlName = url + “?” + param;
}
// String urlName = url + “?” + param;
URL realUrl = new URL(urlName);
// 打开和URL之间的连 ?
HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
// 设置通用的请求属 ?
conn.setRequestProperty(“accept”, “/”);
conn.setRequestProperty(“connection”, “Keep-Alive”);
conn.setRequestProperty(“user-agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;)”);
conn.setRequestProperty(“Content-Type”, “application/json;charset=utf-8”);
conn.setRequestMethod(“GET”);
// 建立实际的连 ?
conn.connect();
// 获取 ?有响应头字段
Map<String, List> map = conn.getHeaderFields();
// 遍历 ?有的响应头字 ?
// for (String key: map.keySet()) {
// }
// 定义BufferedReader输入流来读取URL的响 ?
in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line; // “\n” +
}
} catch (Exception e) {
e.printStackTrace();
}
// 使用finally块来关闭输入 ?
finally {
try {
if (in != null) {
in.close();
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return result;
}
----------------------------------------------------------------------------------------------------------------
POST:
public static String sendPost(String url, String param) {
PrintWriter out = null;
BufferedReader in = null;
String result = “”;
Authenticator.setDefault(new Authenticator() {
//验证账号密码
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(“账号”, “密码”.toCharArray());
}
});
try {
URL realUrl = new URL(url);
// 打开和URL之间的连 ?
HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
// 设置通用的请求属 ?
conn.setRequestProperty(“accept”, “/”);
conn.setRequestProperty(“connection”, “Keep-Alive”);
conn.setRequestProperty(“user-agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)”);
conn.setRequestProperty(“Content-Type”, “application/json;charset=utf-8”);
conn.setRequestMethod(“POST”);
// 发 送 POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
// 获取URLConnection对象对应的输出流
out = new PrintWriter(conn.getOutputStream());
// 发 ? 请求参 ?
out.print(param);
// flush输出流的缓冲
out.flush();
// 定义BufferedReader输入流来读取URL的响应
in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line; // “\n” +
}
} catch (Exception e) {
e.printStackTrace();
}

// 使用finally块来关闭输出流 ? 输入流
finally {
try {
if (out != null) {
out.close();
}
if (in != null) {
in.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
return result;
}

第二步(调用方法):

命令行如(curl):curl -v -u 账号:密码 --data-binary ‘{“jsonrpc”:“2.0”,“id”:“curltext”,“method”:“命令方法”}’ -H ‘content-type:application/json;’ http://127.0.0.1:8888

调方法即可:sendPost(“http://127.0.0.1:8888”,"{“jsonrpc”:“2.0”,“id”:“curltext”,“method”:“getblockchaininfo”}");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Java的URL类来读取Linux服务器上的文件,下面是一个示例代码: URL url = new URL("http://example.com/file.txt"); InputStream input = url.openStream(); try { int c = 0; while ((c = input.read()) != -1) { System.out.print((char) c); } } finally { input.close(); } ### 回答2: 以下是一个Java通过HTTP读取Linux服务器文件的示例代码: import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class JavaHttpReadFile { public static void main(String[] args) { try { // 定义服务器文件的URL URL url = new URL("http://your_linux_server_ip/your_file_path"); // 创建HTTP连接 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 设置请求方法为GET connection.setRequestMethod("GET"); // 打开连接 connection.connect(); // 获取响应代码 int responseCode = connection.getResponseCode(); // 如果响应代码为200,表示请求成功 if (responseCode == 200) { // 读取服务器文件内容 BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } reader.close(); } else { System.out.println("读取文件失败,服务器返回响应代码:" + responseCode); } // 断开连接 connection.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } 在代码中,首先创建了一个URL对象,指定了要读取的Linux服务器文件的URL。然后通过URL对象创建一个HttpURLConnection对象,设置请求方法为GET,并连接到服务器。接着通过调用getInputStream()方法获取服务器文件的输入流,并使用BufferedReader逐行读取文件内容并输出到控制台。最后断开连接。 需要根据实际情况替换代码中的"your_linux_server_ip"为Linux服务器的IP地址,"your_file_path"为要读取的文件在服务器上的路径。 ### 回答3: 如下是一个使用JavaHTTP请求来读取Linux服务器上文件的示例代码: ```java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HTTPFileReader { public static void main(String[] args) { String fileURL = "http://linux-server/file.txt"; try { // 创建URL对象 URL url = new URL(fileURL); // 打开URL连接 HttpURLConnection connection = (HttpURLConnection) url.openConnection(); // 设置请求方法为GET connection.setRequestMethod("GET"); // 获取响应代码 int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { // 创建输入流读取响应内容 BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; StringBuilder content = new StringBuilder(); // 逐行读取响应内容并保存到content中 while ((line = reader.readLine()) != null) { content.append(line); } reader.close(); // 输出文件内容 System.out.println(content.toString()); } else { System.out.println("服务器返回错误:" + responseCode); } } catch (IOException e) { e.printStackTrace(); } } } ``` 以上代码会创建一个HTTP连接来读取指定URL上的文件内容。你需要将`fileURL`替换为你在Linux服务器上实际的文件路径,例如`http://my-linux-server.com/file.txt`。 该示例使用`HttpURLConnection`类来发送GET请求,并检查服务器的响应代码。如果响应代码为HTTP_OK (200),则从响应内容中逐行读取文件内容并输出。如果响应代码不是HTTP_OK,则打印错误信息。 请确保已在代码中添加必要的异常处理机制,以处理可能的网络连接或读取错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值