[問題] Socket發送Http Post Entity
今天想用http POST方法發送xml格式的entity
用HttpClient幾行就很容易可以達成
但換成Socket實驗看看時,讀取的結果卻很神奇,一直只抓到一行系統其他程序的資訊
例如[ 02-14 03:35:57.772 16999:16999 I/Adreno-EGL ] 這樣
想請問板友 可能是哪裡出的問題呢?
SocketFactory socketFactory = SocketFactory.getDefault();
Socket socket = socketFactory.createSocket();
SocketAddress address = new InetSocketAddress("tw.quote.finance.yahoo.net"
, 80);
socket.connect(address, 2500);
OutputStream socketOutputStream = socket.getOutputStream();
//設定header
socketOutputStream.write("POST /quote/query HTTP/1.1\\r\\n".getBytes());
socketOutputStream.write("Host: tw.quote.finance.yahoo.net\\r\\n".getBytes());
socketOutputStream.write("Accept: */*\\r\\n".getBytes());
socketOutputStream.write("Content-Length:708\\r\\n".getBytes());
socketOutputStream.write("\\r\\n".getBytes());
//設定xml檔案entity
socketOutputStream.write(("<SOAP-ENV:Envelope xmlns:xsd=\"http://www.w3.org/
2001/XMLSchema\" xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:xsi=\"" rel="nofollow">http://www.w3.org/2001/XMLSchema-instance\"><SOAP-ENV:Header>
<ns0:MLSoapHeader xmlns:ns0=\"http://ws.money-link.com.tw/\"><ns0:Name xsi:ty
pe=\"xsd:string\">Iss9E4SfRLo=</ns0:Name><ns0:PassWord xsi:type=\"xsd:string\">
wGYJkPbHiDpeJYtXBk3sLw==</ns0:PassWord></ns0:MLSoapHeader></SOAP-ENV:Header><SO
AP-ENV:Body><ns0:getQuote xmlns:ns0=\"http://DefaultNamespace\" SOAP-ENV:encodi
ngStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><strSymbolID xsi:type=\"x
sd:string\">1201</strSymbolID><strQuoteType xsi:type=\"xsd:string\">d</strQuote
Type></ns0:getQuote></SOAP-ENV:Body></SOAP-ENV:Envelope>").getBytes());
socketOutputStream.flush();
StringBuilder builder = new StringBuilder();
InputStream socketInputStream = socket.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(socketInputStrea
m));
StringBuffer response = new StringBuffer();
int result;
while (socketInputStream.available() > 0) {
result = in.read();
response.append(Character.toChars(result));
}
Log.d("Socket Post Response:", response.toString());
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.171.167.98