2015-10-27 2 views
-1

У меня есть веб-страница, которая принимает число рулонов, а затем выводит результат на той же странице. Источник страницы веб-сайта примерно такой:Непосредственные данные формы POST с httpclient

<FORM name="new" ACTION=vitavi.php METHOD=POST > 
<P>Enter the University Seat No: <INPUT TYPE=TEXT NAME="rid" SIZE=20 MAXLENGTH=50><BR><BR><BR><BR> 
<INPUT TYPE=SUBMIT NAME="submit" VALUE="SUBMIT" ALIGN = "center"> 

Я попытался использовать метод post для получения результата.

Вот мой код

public String makeServiceCall(String url, int method, 
     List<NameValuePair> params) { 
    Log.e("Called", "New Called"); 
    try { 
     // http client 
     DefaultHttpClient httpClient = new DefaultHttpClient(); 
     HttpEntity httpEntity = null; 
     HttpResponse httpResponse = null; 

     // Checking http request method type 
     if (method == POST) { 
      HttpPost httpPost = new HttpPost(url); 
      // adding post params 
      if (params != null) { 
       httpPost.setEntity(new UrlEncodedFormEntity(params)); 
       Log.e("Called", "This called"); 
      } 

      httpResponse = httpClient.execute(httpPost); 


     } else if (method == GET) { 
      // appending params to url 
      if (params != null) { 
       String paramString = URLEncodedUtils 
         .format(params, "utf-8"); 
       url += "?" + paramString; 
      } 
      HttpGet httpGet = new HttpGet(url); 
      httpResponse = httpClient.execute(httpGet); 
     } 
     httpEntity = httpResponse.getEntity(); 
     response = EntityUtils.toString(httpEntity); 
     // Log.e("Hiiii",response); 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

И я добавил Params в MainActivity так:

final Httpcall res=new Httpcall(); 
        final List<NameValuePair> param=new ArrayList<NameValuePair>(); 
        param.add(new BasicNameValuePair("rid", r)); 
        new Thread(new Runnable() { 

         @Override 
         public void run() { 
          // TODO Auto-generated method stub 
          HtmlStr=res.makeServiceCall("http://results.vtu.ac.in/vitavi.php",Httpcall.POST, param); 

, но каждый раз на страницу, которая является первой страницы есть, тот, который принимает рулон нет. Где я иду не так?

Заранее спасибо.

+0

Я не нравится, как вы пишете свой HTML. ( – dsharew

+0

На самом деле я не написал этот HTML @DegenSharew. Я просто пишу приложение, которое выбирает страницу этой страницы. –

+0

нормально, но я не получил ваш вопрос ». Тот, который принимает ролл, не принят . – dsharew

ответ

0

Я решил проблему сейчас. Проводя этот ответ, чтобы никто, столкнувшийся с одной и той же проблемой, не должен был ждать, так как мне пришлось:

Я не знал, что мы должны также добавить BasicNameValuePair для кнопки Submit.

<INPUT TYPE=SUBMIT NAME="submit" VALUE="SUBMIT" ALIGN = "center"> 

Таким образом, после добавления номера рулона я добавил еще пару:

param.add(new BasicNameValuePair("rid", r)); 
param.add(new BasicNameValuePair("submit", "SUBMIT")); 
Смежные вопросы