Я получаю безумную головную боль из-за этого ... Я пытаюсь войти в этот URL: http://www.johanstenberg.se/tests/app/signuptest.php, который построен на этом коде:
<html>
<form method="post" action="signupresult.php">
username:<input type="text" size="20" maxlength="20" name="username"/>
password:<input type="text" size="20" maxlength="20" name="password"/>
client:<input type="text" size="20" maxlength="20" name="client"/>
<input type="submit"/>
</form>
<html>
Этот код должен отправить меня на этот сайт: http://www.johanstenberg.se/tests/app/signupresult.php, который имеет этот исходный код:
<html>
<?php if(strcmp($_POST["username"], "matilda") == 0 && strcmp($_POST["password"],"password") == 0 && strcmp($_POST["client"], "TESTCLIENT1") == 0){
echo "accept";}
else{
echo "reject";}?>
</html>
Это работает, если я вручную помещаю его в первый URL, но при попытке сделать это из асинктической задачи Android он просто возвращает исходный код из signuptest.php ...
int TIMEOUT_MS = 10000;
HttpClient httpClient = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(httpClient.getParams(), TIMEOUT_MS);
HttpConnectionParams.setSoTimeout(httpClient.getParams(), TIMEOUT_MS);
HttpPost httpPost = new HttpPost(urlToSignupForm);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("username", username));
nameValuePairs.add(new BasicNameValuePair("password", password));
nameValuePairs.add(new BasicNameValuePair("client", client));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpClient.execute(httpPost);
String s = EntityUtils.toString(response.getEntity());
String s - это исходный код первой веб-страницы (как упоминалось ранее, signuptest.php). Мой код не нажимает кнопку или что-то в этом роде, как мне это сделать? Заранее спасибо, ребята, я искал часы безрезультатно!
О, я должен добавить, что имя пользователя, пароль и клиент все "правильные", то есть обязательные поля для генерации "accept" в signupresult.php.