Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HttpURLConnection连接方法无法连接_Java_Http_Httpurlconnection_Urlconnection - Fatal编程技术网

Java HttpURLConnection连接方法无法连接

Java HttpURLConnection连接方法无法连接,java,http,httpurlconnection,urlconnection,Java,Http,Httpurlconnection,Urlconnection,问题是,当我运行这段代码时,我的代理不会“捕获”任何请求(配置良好)。我知道connect()是URLConnection中的一个抽象方法,但鉴于HttpURLConnection正在扩展URLConnection,因此应该重写它。这就是javadoc关于connect()的说法:“如果尚未建立连接,则打开指向此URL引用的资源的通信链接。”因此请求应该已发送。有人知道问题的原因吗 注意:如果我用connection.getResponseHeader()替换connection.connect

问题是,当我运行这段代码时,我的代理不会“捕获”任何请求(配置良好)。我知道connect()是URLConnection中的一个抽象方法,但鉴于HttpURLConnection正在扩展URLConnection,因此应该重写它。这就是javadoc关于connect()的说法:“如果尚未建立连接,则打开指向此URL引用的资源的通信链接。”因此请求应该已发送。有人知道问题的原因吗

注意:如果我用connection.getResponseHeader()替换connection.connect(),我会捕获一个请求。正如我在javadoc中所读到的,如果连接尚未设置,则对getResponseHeader()的调用将隐式调用connect()方法

这是javadoc关于connect()的说法:“如果尚未建立连接,则打开指向此URL引用的资源的通信链接。”

所以请求应该已经发送了

非顺序逻辑。你的报价中没有关于发送请求的内容


正如您所观察到的,在您执行某些输入步骤之前,请求会一直处于缓冲状态。

是否尝试过此操作@JamesJithin代理不是我的问题,因为正如帖子所说的“如果我用connection.getResponseHeader()替换connection.connect(),连接就会建立,请求就会被捕获”,谢谢。我刚刚发现有一个TCP握手可以建立。实际上我认为这是不必要的,因为TCP连接可能在服务器端超时。无论如何,谢谢你。
SocketAddress proxy = new InetSocketAddress("127.0.0.1", 8080);
URL url = new URL("http://192.168.1.1/");

HttpURLConnection connection = (HttpURLConnection) url.openConnection(new Proxy(Proxy.Type.HTTP, proxy));
connection.setDoOutput(true);
String body = "This is a body example";

OutputStreamWriter writer = new OutputStreamWriter(new BufferedOutputStream(connection.getOutputStream()), "8859_1");
writer.write(body);
writer.flush();
writer.close();

connection.connect();