Java:下载字符串HTTP GET

问题描述 投票:-2回答:3

下午好;我需要下载一个小服务器字符串的代码,我有服务器接收参数并通过PHP返回值

网址:http://127.0.0.1/page.php?var=a

网址可以返回值“YES”或“NO”

我想编码变量并返回值

java string http download
3个回答
1
投票

您可以在一行hackey Java中执行此操作,而无需其他库。像这样:

String out = new Scanner(new URL(...).openStream(), "UTF-8").useDelimiter("\\A").next();

0
投票

你可以轻松使用OkHttp Don不要忘记先导入

示例代码:

OkHttpClient client = new OkHttpClient();

String run(String url) throws IOException {
  Request request = new Request.Builder()
      .url(url)
      .build();

  Response response = client.newCall(request).execute();
  return response.body().string();
}

更多信息:http://square.github.io/okhttp/


0
投票

使用org.apache.commons.http一直以来都很强大,重量轻且对用户友好。通过向request添加标题,您可以设置代表客户端操作系统和浏览器信息的User-Agent。此外,如果服务器对内容类型敏感,则可以为Content-type添加另一个标头,例如application/json。如果使用任何身份验证库(如jwt),也可以在此处找到令牌。

public class Client {

private static HttpClient CLIENT = HttpClientBuilder.create().build();
private static final String URL = "http://127.0.0.1/page.php?var=a";

public static void main(String[] args) throws IOException {
    Client client = new Client();
    System.out.println(client.requestBuilder(URL));
}

private String requestBuilder(String url) throws IOException {
    HttpGet request = new HttpGet(url);
    // Add headers: OS, Browser, Content-Type
    request.addHeader("User-Agent", "Linux");
    request.addHeader("Content-Type", "application/json");
    HttpResponse response = CLIENT.execute(request);
    BufferedReader reader = new BufferedReader(new 
    InputStreamReader(response.getEntity().getContent()));
    StringBuilder result = new StringBuilder();
    String line;
    while (Objects.nonNull(line = reader.readLine()))
        result.append(line);
    return result.toString();
}

希望有所帮助。如果有什么不清楚的话,请不要犹豫我。

© www.soinside.com 2019 - 2024. All rights reserved.