如何通过HTTP使用HTTPUrlConnection或其他连接类型请求jboss服务器虚拟主机?
我尝试了: - 使用虚拟主机别名(主机:jboss.local.virtual.host)向HTTP请求添加标头 - 无法正常工作。
问题是我添加了“Host:jboss.local.virtual.host”,它给了我:无法解析主机“jboss.local.virtual.host”:没有与主机名关联的地址。
How can I request jboss server virtual host by ip with HTTPUrlConnection or other connection type?
What I tried: - Add header to http request with virtual host alias (Host:jboss.local.virtual.host) - didn't work.
The problem is I added "Host:jboss.local.virtual.host" and it gives me: Unable to resolve host "jboss.local.virtual.host": No address associated with hostname.
最满意答案
你可以尝试这样的事情:
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
Solved by me:
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();Only this solution worked for me.
更多推荐
发布评论