【发布时间】:2013-02-11 13:54:11
【问题描述】:
有没有办法在 java 中通过 HTTP 进行 get & put 调用?我还需要自动化任何用户输入,例如目标网页上的按钮单击(任何网页,而不仅仅是雅虎财经)
我尝试使用 apache commons 库但无法破解:
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class Fin {
/**
* @param args
*/
public static void main(String[] args) {
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://finance.yahoo.com");
try {
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
} catch (Exception e) {
e.printStackTrace();
} finally {
httpget.releaseConnection();
}
}
}
我不断收到“java.net.ConnectException:连接被拒绝”,尽管我可以在浏览器中看到它。
【问题讨论】:
-
您可能想尝试将日志级别降低到 DEBUG 或 TRACE,因为我认为 Apache HTTP 库通常会提供关于它在这些级别上所做的事情的良好信息......也许会变得很明显。
-
@cjstehno :我忘记添加代理了,对此很抱歉......我的错......现在有人可以回答我关于如何自动化任何用户输入的问题的第二部分,如按钮点击目标网页?
-
听起来您正在做功能测试...您是否研究过 Geb 或 Selenium 之类的库,而不是尝试编写自己的框架?
标签: java apache http https yahoo-finance