如何通过HTTP使用HTTPUrlConnection或其他连接类型请求jboss服务器虚拟主机?
我尝试了什么: - 使用虚拟主机别名(Host:jboss.local.virtual.host)向http请求添加标头 - 无效。
问题是我添加了“Host:jboss.local.virtual.host”并且它给了我:无法解析主机“jboss.local.virtual.host”:没有与主机名关联的地址。
答案 0 :(得分:0)
您可以尝试这样的事情:
<强> 1。定义您的客户:
HttpParams params = new BasicHttpParams();
// For instance, you could set timeout
HttpConnectionParams.setConnectionTimeout(params, 10000);
HttpClient client = new DefaultHttpClient(params);
<强> 2。创建请求:
HttpGet request = new HttpGet("your URL");
第3。执行请求:
HttpResponse response = client.execute(request);
// And now, for example, get the status code and the server response body
int status = httpResponse.getStatusLine().getStatusCode();
HttpEntity body = response.getEntity();
请注意,这是一个关于GET请求的示例。你可以使用任何其他的Http方法。
在这里,您可以看到另一个示例:http://www.androidsnippets.com/executing-a-http-post-request-with-httpclient
答案 1 :(得分:0)
由我解决:
final SSLSocketFactory sslFactory = getSSLSocketFactory();
final Socket socket = sslFactory.createSocket(IP, PORT);
final int contentLenght = request.renderSafe().
final PrintWriter pw = new PrintWriter(socket.getOutputStream());
pw.println(FIRST_HTTP_HEADER);
pw.println(HOST);
pw.println(CONTENT_TYPE);
pw.println(CONTENT_LENGTH + ":" + contentLenght);
pw.println("");
pw.println(request);
pw.flush();
只有这个解决方案适合我。