为什么当发送到ip时Http Post起作用,但是发送到url时为什么不起作用?

时间:2019-04-24 13:34:33

标签: java

我正在使用org.apache.http.client.methods.HttpPost从服务器中获取一行信息。

当我使用服务器的IP地址时(以下仅作为示例),我按预期获得了信息:

HttpPost("http://127.0.0.1/api/fetchInfo")

但是,当我使用URL时,服务器没有收到请求,客户端得到了运行时错误:org.apache.http.client.HttpResponseException:未找到。

HttpPost("http://subdomain.domain.com/api/fetchInfo")

URL包含一个子域。

我要访问的服务器是网站提供商,并且我可以通过域与网站进行交互,因此域存在。

客户端在我的本地计算机上,而服务器在Amazon ec2上。

如何使其与网址配合使用?

我的代码:

    String responseString = "";
    try {

        MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
        multipartEntityBuilder.setCharset(Charset.forName("UTF-8")).setMode(HttpMultipartMode.BROWSER_COMPATIBLE);

        HttpEntity entity = multipartEntityBuilder.build();
        HttpPost request = new HttpPost("http://subdomain.domain.com/api/fetchInfo");

        request.setEntity(entity);

        HttpClient client = HttpClientBuilder.create().build();
        HttpResponse response = client.execute(request);

        responseString = new BasicResponseHandler().handleResponse(response);
    } catch (IOException ex) {
        log(ex)
    }
    return responseString;

1 个答案:

答案 0 :(得分:0)

如果使用的是apache服务器,则需要使用服务器名称subdomain.domain.com配置subdomain.conf文件,并在/ etc / hosts文件中将其配置到计算机上,您需要指定subdomain.domain的映射IP地址为127.0.0.1的.com名称。

我希望这会有所帮助。