我是java的新手,需要打开TLS连接并发送数据,但是我收到403禁止错误,我在代码中遗漏了什么?
javax.net.SocketFactory basicSocketFactory = javax.net.SocketFactory.getDefault(); java.net.Socket s = basicSocketFactory.createSocket(host,port);
javax.net.ssl.SSLSocketFactory tlsSocketFactory = (SSLSocketFactory) javax.net.ssl.SSLSocketFactory.getDefault();
s = tlsSocketFactory.createSocket(s, host, port, true);
if (s.isConnected()){
System.out.println("connected"); <-passes here
}
java.io.PrintWriter pw = new java.io.PrintWriter(s.getOutputStream());
pw.println("POST /direct.aspx HTTP/1.1\n\r\n");
pw.println("Host: "some host-sorry can't reveal"\n\r\n");
pw.println("Connection: Close\n\r\n");
pw.println("Content-type: application/x-www-form-urlencoded\n\r\n");
pw.println("Content-Length: " + Integer.toString(input.length())+"\n\r\n");
pw.println("Charset: UTF-8\n\r\n");
pw.println(input);
pw.flush();
java.io.BufferedReader br = new java.io.BufferedReader(new java.io.InputStreamReader(s.getInputStream()));
String t;
while((t = br.readLine()) != null) System.out.println(t);
br.close();