【问题标题】:Android sends GET instead of POSTAndroid 发送 GET 而不是 POST
【发布时间】:2013-04-22 16:56:17
【问题描述】:

我的 android 应用程序有一个后端,它在 GET 上返回 404,在 POST 上返回 json。现在,我正在尝试使用this snippet 发出 POST 请求:

public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/api/login");

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("email", "email@email.com"));
    nameValuePairs.add(new BasicNameValuePair("password", "qwerty"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}
}

但是服务器收到 GET 请求。使用 curl POST 后端按预期返回 json。但不知何故 httpPost 发送 GET(!) 请求。可能是什么问题呢?我做错了什么?

【问题讨论】:

  • 各位,在标记为无效问题之前,请三思而后行 :) 问题不需要你的专家意见,它现在有答案了
  • 你可能想检查一下你的态度;毕竟,你是来这里寻求帮助的。你没有答案,你有一个黑客。

标签: android post get


【解决方案1】:

好的,伙计们,很快就回答了我自己的问题,可能对其他人有帮助。

我用 ip 地址替换了主机名,它成功了!

【讨论】:

  • 这毫无意义。您的服务器是否配置错误?
  • 同意323go,这根本不是HttpPost的工作方式。 @Roman 你要么错误配置了你的服务器,要么你的后端坏了。
  • @323go 这看起来很傻,其实是有原因的——android有时无法通过主机名找到ip地址,不知道它下面的机制,但我记得以前见过这个
猜你喜欢
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-20
  • 2015-06-02
  • 2017-08-09
  • 1970-01-01
相关资源
最近更新 更多