【发布时间】:2009-12-19 09:52:17
【问题描述】:
我正在使用以下代码创建一个 http 客户端,我在执行方法中遇到问题,它卡在那里。
public static final HttpHost target = new HttpHost("test.xyz.com", 443, "https");
public static void test()
{
HttpEntity responseEntity = null;
DefaultHttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("/xyz/test");
System.out.println("post is " +post.getRequestLine());
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials(username, password);
AuthScope authScope = new AuthScope(target.getHostName(), target.getPort());
System.out.println("auth scope is " +authScope);
client.getCredentialsProvider().setCredentials(authScope, credentials);
//i am passing a xml here
post.setEntity(new StringEntity(xml, "UTF-8"));
post.addHeader("Content-Type", "application/xml");
post.addHeader("Accept", "application/xml");
System.out.println("post " +post.getAllHeaders().length);
HttpResponse response = client.execute(target, post); //getting stuck here no response at all
System.out.println("response " +response.getStatusLine());
responseEntity = response.getEntity();
System.out.println("response entity " +responseEntity);
String responseXmlString = EntityUtils.toString(responseEntity);
System.out.println("response" +responseXmlString);
}
我在这里遇到问题
HttpResponse response = client.execute(target, post);
可能出了什么问题?
问题是代码卡在 client.execut 方法中,它没有进一步移动,我也没有得到任何响应。我必须设置任何代理吗?
【问题讨论】:
-
问题是代码卡在 client.execut 方法中,它没有移动,我也没有得到任何响应。我要设置任何代理吗?
-
运行测试的时候,有没有可以接收帖子的目标设置?执行可能只是忙于将数据传递到它无法写入的套接字。
-
ya 目标设置为接收数据。对于服务器可能忙于接收数据的时间,我等待它执行最多 5 分钟
-
服务器访问日志是否显示连接已建立? servlet/jsp 是否接收到任何数据?