Это дополнительный вопрос https://stackoverflow.com/questions/3550593/sending-html-commands-over-httpclient-android, у меня есть успешно отправил сообщение на сервер и получил код 200, но когда я пытаюсь перейти на другую страницу, он не распознает, что я вошел в систему. Мне интересно, является ли это проблемой сеанса или мне нужно следовать перенаправлению после POST. Как мне поступить после перенаправления? Опять же, любая помощь приветствуется. Вот простое приложение HttpClient/POST, которое я создал из примеров, чтобы помочь мне быстро протестировать любые изменения.
public class HttpClientTest extends Activity{
HttpClient client = new DefaultHttpClient();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button btnFetch = (Button)findViewById(R.id.button);
final TextView txtResult = (TextView)findViewById(R.id.content);
final Button login = (Button)findViewById(R.id.button2);
btnFetch.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
getRequest(txtResult);
}
});
login.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
try {
login(txtResult);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
public void getRequest(TextView txtResult){
HttpGet request = new HttpGet("http://gc.gamestotal.com/i.cfm?f=com_empire&cm=3");
try{
HttpResponse response = client.execute(request);
txtResult.setText(Parser.request(response));
}catch(Exception ex){
txtResult.setText("Failed!");
}
}
public void login(TextView txtResult) throws UnsupportedEncodingException, IOException{
String action = "i.cfm?&1028&p=login&se=4";
String yourServer = "http://gc.gamestotal.com/";
HttpPost post = new HttpPost(yourServer + action);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("nic", "user"));
params.add(new BasicNameValuePair("password", "password"));
params.add(new BasicNameValuePair("server", "4"));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params, "UTF-8");
post.setEntity(entity);
try{
HttpResponse response = client.execute(post);
txtResult.setText(response.getEntity().toString());
}catch(Exception ex){
txtResult.setText("Failed!");
}
}
}
Сначала я нажимаю кнопку входа в пользовательский интерфейс, который дает мне код ответа Http/1.1 200 OK, но когда я нажимаю кнопку btnFetch, которая отправляет меня на страницу, на которой вы должны войти в систему, чтобы получить доступ, я получаю не вошел в систему страница. Любые идеи?