2013-09-12 3 views
0

У меня возникла проблема с прямой ссылкой на видео. Я хочу воспроизвести его в своем WebView/VideoView. Как отправить запрос POST и получать ответ с прямой ссылкой с сайта, который дешифровать такие вещи:Отправка данных POST на сайт и получение ответа

videotools.12pings.net

Есть ли способ сделать это?

Пример: поместить ссылку на веб-формы - чем нажать на кнопку - прямая ссылка готова под кнопкой

+1

Возможно, [ 'postUrl()'] (http://developer.android.com/reference/android/WebKit/Мы bView.html # postUrl (java.lang.String, byte [])) –

+0

Вы правы, посмотрите на эту ссылку http://stackoverflow.com/questions/2938502/sending-post-data-in-android – Stefano

+0

Вы правильно, попробуйте с этой ссылкой http://stackoverflow.com/questions/2938502/sending-post-data-in-android – Stefano

ответ

0
  final HttpParams httpParameters = new BasicHttpParams(); 
      // Set the timeout in milliseconds until a connection is 
      // established. 
      HttpConnectionParams.setConnectionTimeout(httpParameters, 7000); 

      // Set the default socket timeout (SO_TIMEOUT) 
      // in milliseconds which is the timeout for waiting for data. 
      HttpConnectionParams.setSoTimeout(httpParameters, 10000); 

      HttpClient client = new DefaultHttpClient(httpParameters); 
      HttpResponse response = client.execute(new HttpGet(path)); 
      HttpEntity entity = response.getEntity(); 
      InputStream imageContentInputStream = entity.getContent(); 

путь является переменной, которая содержит ваш URL

+0

Где в этом коде я передаю ссылку на видео, которое хочу декодировать? Я думаю, что это метод для подключения и создания HTTP GET. Таким образом, это не решает мою проблему. – user2245026

+0

http://stackoverflow.com/questions/2938502/sending-post-data-in-android попытайтесь взглянуть на это – Stefano

+0

Я уже видел это сообщение, прежде чем задавать вопрос. Но как я могу отправить POST, если я не знаю пути к скрипту, который ответит мне? Например: [new HttpPost («http://www.yoursite.com/script.php»)] – user2245026

0

Я надеюсь, это поможет вы .. * вы должны получить httpcomponents-client-4.1.zip и apache-mime4j-0.6.1-bin.zip

Добавить апач-mime4j-0,6 0,1-bin.zip и HttpClient-4.1.jar httpcore-4.1.jar httpmime-4.1.jar из Lib папки в httpcomponents-client-4.1.zip - Смотри на: http://blog.tacticalnuclearstrike.com/2010/01/using-multipartentity-in-android-applications/#sthash.N7qT8apH.dpuf *

try { 
MultipartEntity multipart = new MultipartEntity(
       HttpMultipartMode.BROWSER_COMPATIBLE); 
FormBodyPart office = new FormBodyPart("office", 
        new StringBody(getOffice)); 
      multipart.addPart(office); 

      String imageCount = Integer.toString(drawableList.size()); 
      System.out.println("ImageCount : " + imageCount); 

      FormBodyPart imgNo = new FormBodyPart("imgNo", new StringBody(
        imageCount)); 
      multipart.addPart(imgNo); 

     } catch (Exception e) { 
      // TODO: handle exception 
     } 

     try { 
      System.out.println("result : " + multipart.getContentLength()); 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpPost httppost = new HttpPost(CommunicatorUrl.ADD_INCIDENT); 
      httppost.setEntity(multipart); 
      HttpResponse response = httpclient.execute(httppost); 
      HttpEntity entity = response.getEntity(); 

      // print responce 
      outPut = EntityUtils.toString(entity); 


     } catch (Exception e) { 
      Log.e("log_tag ******", 
        "Error in http connection " + e.toString()); 
     } 

в основном это MultipartEntity полезно для отправки нескольких изображений и ДАННЫЕ к серверу, используя метод пост

+1

Не могли бы вы добавить несколько слов, как это работает? – user2245026

0
String paramUsername = "username"; 
String paramPassword = "password"; 
System.out.println("*** doInBackground ** paramUsername " + paramUsername + " 
paramPassword :" + paramPassword); 
HttpClient httpClient = new DefaultHttpClient(); 

HttpPost httpPost = new HttpPost("http://www.xxxxxxxxxxxxxx.php"); 

BasicNameValuePair usernameBasicNameValuePair = new BasicNameValuePair("ParamUsername", paramUsername); 

BasicNameValuePair passwordBasicNameValuePAir = new BasicNameValuePair("paramPassword", paramPassword); 

List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>(); 

nameValuePairList.add(usernameBasicNameValuePair); 
nameValuePairList.add(passwordBasicNameValuePAir); 

try { 
    UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(nameValuePairList); 
    httpPost.setEntity(urlEncodedFormEntity); 


try { 
     HttpResponse httpResponse = httpClient.execute(httpPost); 
     InputStream inputStream = httpResponse.getEntity().getContent(); 

     InputStreamReader inputStreamReader = new InputStreamReader(inputStream); 

    BufferedReader bufferedReader = new BufferedReader(inputStreamReader); 

    StringBuilder stringBuilder = new StringBuilder(); 

    String bufferedStrChunk = null; 

    while((bufferedStrChunk = bufferedReader.readLine()) != null){ 
     stringBuilder.append(bufferedStrChunk); 
    } 

    return stringBuilder.toString(); 

} catch (ClientProtocolException cpe) { 
    System.out.println("First Exception caz of HttpResponese :" + cpe); 
    cpe.printStackTrace(); 
} catch (IOException ioe) { 
    System.out.println("Second Exception caz of HttpResponse :" + ioe); 
    ioe.printStackTrace(); 
} 

} catch (UnsupportedEncodingException uee) { 
System.out.println("An Exception given because of UrlEncodedFormEntity argument :" + uee); 
uee.printStackTrace(); 
} 
Смежные вопросы