Java 中的 HTTP GET 请求

问题描述 投票:0回答:3

我正在尝试在 java 上使用 http get 请求到我的本地主机,端口号为 4567。 我收到获取请求:“wget -q -O- http://localhost:4567/XXXX” [XXXX 是一些参数 - 不相关]。 我找到了一个用于此类事情的java库 java.net.URLConnection 但似乎 URLConnection 对象应该接收 url/port/.. 和所有其他类型的参数(换句话说,你必须构造对象自己),但是,我收到了完整的 http get 请求,正如我上面所写的。有没有一种方法可以简单地“发送”请求而不处理构造 URLConnection 字段?

java http url get localhost
3个回答
4
投票

您可以使用您的 URL 创建

URL
对象,它会自行找出端口和其他内容。参考:https://docs.oracle.com/javase/tutorial/networking/urls/readingWriting.html

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://localhost:4567/XXXX");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

1
投票

为什么不使用 Apache HTTPClient 库。使用起来很简单。

HttpClient client = new HttpClient();

参考文档http://hc.apache.org/httpclient-3.x/tutorial.html


0
投票
<!DOCTYPE html>
<html>
<head>
<title>GET Request with Headers</title>
</head>
<body>
<button id="fetchButton">Выполнить GET- 
 запрос с заголовком</button>
<p id="responseText"></p>

<script>
    const url = 
'https://example.com/api/data'; // 
 Замените на ваш URL
    const headers = new Headers();
    headers.append('Authorization', 
   'Bearer YourAccessToken'); // 
  Замените 
  на ваш заголовок

    const fetchButton = 
document.getElementById('fetchButton');
    const responseText = 
document.getElementById('responseText')

    
fetchButton.addEventListener('click', 
() => {
        fetch(url, { headers })
            .then(response => 
response.text())
            .then(data => {
                
responseText.textContent = data;
            })
            .catch(error => {
                
console.error('Ошибка:', error);
                
responseText.textContent = 'Произошла 
ошибка при выполнении GET-запроса.';
            });
    });
</script>
© www.soinside.com 2019 - 2024. All rights reserved.