似乎方法.connect()不起作用

时间:2015-10-04 09:32:29

标签: java eclipse selenium-webdriver httpurlconnection

我正在尝试使用此代码在运行某些测试之前从数据库中删除用户:

URL url = new URL("someurl/remove?user=user001@mailinator.com");
HttpURLConnection huc = (HttpURLConnection)url.openConnection();
String userPassword = "is:IS!";
String encoding = new sun.misc.BASE64Encoder().encode(userPassword.getBytes());
huc.setRequestMethod("GET");
huc.setRequestProperty("Authorization", "Basic " + encoding);
huc.connect();

它对我不起作用(user001仍然存在于数据库中)。但是如果我使用.getResponseCode()代替.connect(),一切正常。为什么呢?

2 个答案:

答案 0 :(得分:2)

因为当你打电话

huc.connect();

你实际上并没有调用网址。您只是打开与服务器的连接。通常你不应该调用那个方法,因为当你调用类似

之类的东西时会调用它
getInputStream(), getResponseCode(), or getResponseMessage()

答案 1 :(得分:1)

在HttpURLConnection的sun.net.www.protocol.http.HttpURLConnection实现中,connect()本身并不实际发送请求(包括authenticate,handle re-directs等)。这需要调用getInputStream(),这可能会在以后发生。

如果尚未调用getResponseCode,则调用getInputStream。

相关问题