繁体   English   中英

如何使用此格式JAVA发送GET请求

[英]How can I send a GET request using this format JAVA

我正在尝试发出GET请求,以获取从银行连接以字符串形式返回的XML文档,但是我尝试了许多示例,但得到的只是错误。

HTTP GET

以下是示例HTTP GET请求和响应。 显示的占位符需要替换为实际值。

GET /indicadoreseconomicos/WebServices/wsIndicadoresEconomicos.asmx/ObtenerIndicadoresEconomicosXML?tcIndicador=string&tcFechaInicio=string&tcFechaFinal=string&tcNombre=string&tnSubNiveles=string HTTP/1.1

Host: indicadoreseconomicos.bccr.fi.cr
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://ws.sdde.bccr.fi.cr">string</string>

我根据需要替换了参数,但是没有运气。 我已从以下网站获取信息: http : //www.bccr.fi.cr/indicadores_economicos_/ServicioWeb.html

我尝试过的代码。

public String requestRate() {
        String date = new SimpleDateFormat("dd/mm/yyyy").format(new Date());
        String response = "";

        Socket socket = new Socket(defaultURL, 8080);
        String request = "GET /indicadoreseconomicos/WebServices/wsIndicadoresEconomicos.asmx/"
                + "ObtenerIndicadoresEconomicosXML?tcIndicador="
                + tcIndicador+ "&tcFechaInicio="
                + date + "&tcFechaFinal="
                + date + "&tcNombre=user&tnSubNiveles=N HTTP/1.1\r\n";
        OutputStream os = socket.getOutputStream();
            os.write(request.getBytes());
            os.flush();

        InputStream is;
            is = socket.getInputStream();
        int ch;
            while ((ch = is.read()) != -1) {
              response += (char) ch;
            socket.close();


        return response;
    }
private String defaultURL = "http://www.indicadoreseconomicos.bccr.fi.cr";

我删除了try-catch块以便于阅读。

我会做这样的事情,这段代码对我有用一次:

    Socket sock = new Socket("127.0.0.1", 80);
    DataOutputStream dos = new DataOutputStream(sock.getOutputStream());
    BufferedReader dis = new BufferedReader(new
            InputStreamReader(sock.getInputStream()));
    dos.write("GET / HTTP/1.0\n\n".getBytes());
    dos.flush();

如果我很了解您的问题,这可能是一种方式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM