2013-03-14 4 views
3

Существует веб-сайт, в котором есть несколько выпадающих ящиков. Я сделал приложение для Android, которое вытягивает значения с сайта. Теперь на веб-сайте есть окно поиска, на веб-сайте мы можем выбрать варианты из окна и нажать «Отправить», затем он даст результат на основе выбранных опций. Мне нужно сделать то же самое в своем приложении. Нужна помощь. Спасибо.отправить данные на сайт -Android

+0

что вы пытались сделать это. –

+2

@TGMCians Я видел через источник страницы, чтобы увидеть ссылку, на которую перенаправляется страница, когда мы нажимаем на веб-сайт. Теперь я попытался использовать ссылку фильтра, используемую на веб-сайте, который дал Мне ссылка не найдена (ожидается). Теперь я хотел создать структуру формы spinner, как на веб-странице, но для этого нам нужны элементы базы данных (например, мы передаем данные с jsp на сервлеты). Но мне все еще нужна конкретная идея продолжить – SeasonalShot

ответ

4

Чтобы отправить данные на сайт, вы отправили ему запрос HTTP POST. Вы можете поместить данные, которые вы хотите отправить в массив, и отправить их в php-скрипт.

Вам необходимо выяснить, с каким идентификатором ваша строка отправляется на сервер. В моем примере это ваш_1 и ваш_2. Это отличается от каждого веб-сайта. Все новые браузеры могут прочитать это в консоли разработчика или что-то в этом роде.

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

try { 
    // Add your data 
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
    nameValuePairs.add(new BasicNameValuePair("your_1", "data 1")); 
    nameValuePairs.add(new BasicNameValuePair("your_2", "data 2")); 
    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 
} 

После того, как вы отправили это сообщение, вы должны получить ответ, который вы можете прочитать с помощью StringBuilder.

private StringBuilder inputStreamToString(InputStream is) { 
String line = ""; 
StringBuilder total = new StringBuilder(); 

// Wrap a BufferedReader around the InputStream 
BufferedReader rd = new BufferedReader(new InputStreamReader(is)); 

// Read response until the end 
while ((line = rd.readLine()) != null) { 
    total.append(line); 
} 

// Return full string 
return total; 
} 

Теперь у вас есть ответ, и вы можете выделить свой специальный текст с помощью RegEx. Это немного сложно, но this поможет вам.

Смежные вопросы