在我的浏览器中,我将以下字符串发送到控制单元http://192.168.0.215/i_activate/aterm?40~00
,并激活继电器。
我尝试了以下几种变体:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.0.215/i_activate/aterm?40~00");
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
使用HTML回复"失败"来自单位
我尝试过以多种方式添加40~00(NameValuePair等)并以不同形式编码但没有成功,但我确信问题就在那里。
有什么想法吗?
答案 0 :(得分:3)
问题是浏览器发送GET
请求,其中参数在URL本身作为查询字符串,但您发送的POST
请求没有任何正文数据。
使用HttpGet
代替HttpPost
发送GET
请求:
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet("http://192.168.0.215/i_activate/aterm?40~00");
// Execute HTTP Get Request
HttpResponse response = httpclient.execute(httpget);