我正在尝试发出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块以便于阅读。
答案 0 :(得分:0)
我会做这样的事情,这段代码曾经为我工作过一次:
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();
如果我理解你的问题,这可能是一种方式。