cha*_*kya 9 java http httpclient
这是我的代码片段.我正在尝试使用HTTPOST登录该网站.我一直得到"400 Bad Request"我尝试了各种组合.我尝试将用户名/密码作为标题而不是NameValuePair传递.但结果相同.有什么我想念的吗?
HttpClient httpclient = new DefaultHttpClient();
HttpPost post = new HttpPost("https://identi.ca/main/login");
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("nickname", u));
nvps.add(new BasicNameValuePair("password", p));
nvps.add(new BasicNameValuePair("submit", "Login"));
post.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
HttpResponse response = httpclient.execute(post);
HttpEntity entity = response.getEntity();
Log.i("Login form POST result: ", response.getStatusLine().toString());
Run Code Online (Sandbox Code Playgroud)
感谢帮助.
如果HTTP服务认为您发送了无效/不正确/不合适,则会发送400响应.无法从您的代码中判断出发送的实际参数是什么,或者(更重要的)服务器期望您发送的内容.
要诊断这一点,您需要:
第二个可能涉及:
在这种情况下,看起来token需要提供额外的参数.
但是,我怀疑你可能完全采取了错误的做法."identi.ca"站点使用StatusNet,它为客户端提供了几个已发布的API.没有提到我可以看到的"登录"URL.