0

我目前正在编写程序以与我的网络中的设备进行通信,以下代码是我到目前为止所拥有的,它通过了身份验证并且可以从设备获取网页,但是当我运行时我无法让 GET 请求工作下面的代码,我得到错误:

 Exception in thread "main" java.io.FileNotFoundException: http://192.168.100.222:80
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)

当我在网页上输入数据时,它相当于http://l192.168.xxx.xxx/2?A=3&p=1&X=1234,并且从 tcpflow 开始,它确实如此,我尝试使用httpGET /2?A=4&p=1&X=1234 HTTP/1.1创建一个新的 url 连接://192.168.xxx.xxx/2?A=3&p=1&X=1234,它有效,但我有多个输入选项,我不想为每个选项创建一个新连接,我该如何做保持联系?或者我在代码中做错了什么?

提前致谢。

public class main {
public static void main(String[] argv) throws Exception {
    Authenticator.setDefault(new MyAuthenticator());
    URL url = new URL("http://192.168.xxx.xxx");
    URLConnection connection = url.openConnection();
    connection.setDoOutput(true);
    connection.setDoInput(true);
    OutputStreamWriter out = new OutputStreamWriter(connection.getOutputStream());
    out.write("Get /2?A=4&p=1&X=1234 HTTP1.1");
    out.close();        
    BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    String decodedString;
    while ((decodedString = in.readLine()) != null) {
            System.out.println(decodedString);
    }
    in.close();
}
4

1 回答 1

0

我不想为他们每个人创建一个新的连接

别担心。HttpURLConnection在引擎盖下进行连接池。只需使用您的实际 URL,不要试图超越 Java。

于 2013-03-06T23:02:52.057 回答