3

在我的浏览器中,我将以下字符串发送到我拥有的控制单元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 响应“FAIL”

我尝试以多种方式(NameValuePair 等)添加 40~00 并以不同的形式编码但没有成功,但我确信问题就在那里。

有什么想法吗?

4

1 回答 1

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);
于 2015-07-08T19:56:39.333 回答