gpt4 book ai didi

java - HttpsUrlConnection 在 GET 请求时遇到 EOF 异常

转载 作者:太空宇宙 更新时间:2023-11-04 12:18:42 25 4
gpt4 key购买 nike

我正在通过 https 从服务器获取一些数据。问题是当我尝试运行此代码时,它只写入空字符串(response.toString() 返回空)。但是当我在 BufferedReader 行之前添加 Thread.sleep 方法时,它工作得非常完美(从服务器返回完整数据)。这里的主要问题是什么?

   private static void httpGet(String urlStr, String[] paramName, String[] paramVal) throws Exception {
URL url = new URL(urlStr);
HttpsURLConnection conn
= (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setAllowUserInteraction(false);
conn.setRequestProperty(COOKIE_HEADER, param);

if (conn != null) {
//Thread.sleep(1000);
BufferedReader in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
System.out.println(response.toString());
}
}

最佳答案

嗯,你的代码对我有用;-) 即使没有 Thread.sleep - 见下文 - 我正在从“Oracle”中提取数据。另外请不要忘记关闭输入流。

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

import javax.net.ssl.HttpsURLConnection;

public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL url = new URL("https://www.oracle.com");
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
conn.setAllowUserInteraction(false);
//conn.setRequestProperty("COOKIE_HEADER", param);

if (conn != null) {
// Thread.sleep(1000);
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
System.out.println(response.toString());
}
}

}

关于java - HttpsUrlConnection 在 GET 请求时遇到 EOF 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39094784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com