2014-12-04 68 views
1

我正在尝试做一个http文章。相同的代码正在工作。但现在它不是我的servlet,而是给出了http响应代码200.从浏览器中,相同的url正在访问servlet。有什么限制我的帖子吗?请帮助我。对不起英语不好。HTTP POST不能从Java工作

int timeout=3000; 
String url="http://localhost:8020/WiCodeDynamic/WiCode?json="; 
String requestUrl="{\"vspCredentials\":{\"id\":\"TET\",\"password\":\"test\"}}"; 
URL x = new URL(url); 
HttpURLConnection connection =(HttpURLConnection)x.openConnection(); 

connection.setRequestMethod("POST"); 
//;charset=utf-8 
connection.setRequestProperty("Content-type","application/json"); 
connection.setDoOutput(true); 
connection.setConnectTimeout(timeout); 

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream())); 
bw.write(requestUrl); 
bw.flush(); 

int resp_code = connection.getResponseCode(); 
String resp_msg = connection.getResponseMessage(); 

System.out.println("resp_code="+resp_code); 
System.out.println("resp_msg="+resp_msg); 

BRS,

回答

1

只有一个小的失误。将json=从您的URL末尾移至开始POST请求(requestUrl),您应该没问题。

另外我建议你使用URLEncoder.encode来转义正确传输的字符串。

+0

我已move.but现在我得到null检索参数json在我的servlet。此前它是空的。还有其他更改吗? – user2074800 2014-12-04 13:58:49

+0

你使用URLEncoder.encode吗?如果你没有,它会失败。 – Nitram 2014-12-04 14:06:21

+0

是的,我用它.URLEncoder.encode(requestUrl,“UTF-8”); – user2074800 2014-12-04 14:57:51