我需要通過http post發送UPPERcased標頭。故事的第一部分被描述爲here。現在它的套接字時間。 :)HTTP標頭變成小寫2
Socket s = new Socket(InetAddress.getByName("localhost"), 8080);
PrintWriter pw = new PrintWriter(s.getOutputStream());
// PrintStream pw = System.out;
pw.println("POST /test-servlet/TestServlet HTTP/1.0");
String params = "key1=value1&key2=value2";
pw.println("accept = text/xml");
pw.println("accept-language: ru");
pw.println("SOAPAction: requestCreditBureau");
pw.println("eif: 3");
pw.println("host: localhost");
pw.println("content-length: " + params.getBytes().length);
pw.println();
pw.println(params);
pw.println();
pw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String t;
while((t = br.readLine()) != null) System.out.println(t);
br.close();
這裏有兩個問題。
- 它不起作用。 :)服務器的Servlet recive:
工作流程= TSM \ 的SOAPAction = requestCreditBureau EIF = 3
- 沒有PARAMS在HttpServletRequest的服務器上,只有標題。
對不起,格式不正確。問題出在SOAPAction標題中。 – Dev 2013-04-24 12:36:43
您發送了兩次「POST/test-servlet/TestServlet HTTP/1.0」!你應該只發送一次。 – johnchen902 2013-04-24 12:37:55
@Dev:你正在發送第一行兩次,你確定這只是一個錯字嗎?另外,如果有任何需要更改的更改,您可以更新此問題。 – SuperSaiyan 2013-04-24 12:38:16