我需要通过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