java - 在哪些方法调用 java 后向服务器发送真实请求?

标签 java http connection request inputstream

例如,我有下面的java代码:

URL u = new URL("http://google.com");  
URLConnection c = u.openConnection();  
InputStream s = c.getInputStream();  
int i;  
while ((i = s.read()) != -1) {  
     //do something here  
}  

而且我无法理解,在哪个时刻(在哪个方法调用之后)java 将实际请求发送到服务器?

最佳答案

URL 类的 openConnection() 方法,只返回一个 HttpUrlConnection 的新实例。 (因为你的协议(protocol)是http)。 在您调用 getInputStream() 或 getOutputStream() 方法之前,实际连接不会发生。正是在调用这些方法时,调用了 connect() 并且谷歌服务器接收到连接。因为协议(protocol)是 http,服务器会返回你正在使用 s.read() 阅读的 google 主页。 (它应该给你谷歌主页的html页面)

关于java - 在哪些方法调用 java 后向服务器发送真实请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11088152/

相关文章:

php - "mysql_query() or die()"是否保持打开的 mysql 连接?

android - 蓝牙安全与不安全

mysql - Xampp Linux : PDOException: SQLSTATE[HY000] [2002] Connection refused in lock_may_be_available() error

3 个停止点之间的 Java 颜色插值

http - 向同一套接字中的服务器发送两个 HTTP 1.1 请求时出现问题

java - 发送重定向时强制浏览器从 URL 中删除#hash

http - 使用本地 http 调用的开销

java - 在java中将数组转换为Set时出现编译错误

java - 如何从数组中找到最接近的值?

没有 Try 和 Catch 的 Java 代码