gpt4 book ai didi

java - 从 Web 方法获取 java 中的 ajax 响应 (java.io.FileNotFoundException)

转载 作者:行者123 更新时间:2023-12-01 15:37:38 24 4
gpt4 key购买 nike

不知道如何更好地解释它,但我正在尝试从包含函数的 URL 获取响应(对吗?)。

我为此花费了很多时间,每次都取得一点进展,但最终无法实现。这是来自 chrome 开发工具的请求和响应 header :

Headers

我的代码是:

String params = "{\"prefixText\":\"" + city 
+ "\",\"count\":10,\"contextKey\":\"he\"}";
conn = (HttpURLConnection) new URL(
"http://bus.gov.il/WebForms/wfrmMain.aspx/GetCompletionList")
.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setChunkedStreamingMode(0);
// conn.setFixedLengthStreamingMode(params.length());
conn.addRequestProperty("Accept", "*/*");
conn.addRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.addRequestProperty("Content-Length", String.valueOf(params.length()));
conn.addRequestProperty("Host", "bus.gov.il");
conn.addRequestProperty("Origin", "http://bus.gov.il");
conn.addRequestProperty("X-Requested-With", "XMLHttpRequest");
conn.addRequestProperty("Referer",
"http://bus.gov.il/WebForms/wfrmMain.aspx?width=1024&company=1&language=he&state=");
OutputStream os = new BufferedOutputStream(conn.getOutputStream());
os.write(params.getBytes());
String answer = readStream(conn.getInputStream());

在这一行调用“getinputstream”时出现异常(我在堆栈跟踪中看到):

字符串答案 = readStream(conn.getInputStream());

进入readStream函数之前!

不知道怎么解决...

尝试搜索 xmlhttprequest 但了解它仅在 JS 中。

另外:我知道我有很多不必要的请求属性,但在代码正常工作之前我无法弄清楚哪些是不必要的。预先感谢:)

最佳答案

遗憾的是,当您收到 404 错误时,HttpURLConnection 过去(并且可能仍然是)会抛出 FileNotFoundException。当您执行 getInputStream() 时,这是它第一次连接的时间,因此来自服务器的任何错误都会显示在那里。

如果您想在发出请求时了解 HTTP 领域实际发生的情况,请使用 Wireshark 或其他工具。

关于java - 从 Web 方法获取 java 中的 ajax 响应 (java.io.FileNotFoundException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8639068/

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