2012-08-28 19 views
10

Verileri sunucuya ("referer" başlık alanıyla birlikte) gönderip Webview uygulamasında yanıt yüklemem gerekiyor.Send Message istek üzerine birlikte HttpHeaders ile birlikte Android

Şimdi, orada gibi bazı kısımlarını yapmak (Android WebView itibaren) farklı yöntemler şunlardır: Belirtilen ek HTTP başlıklarıyla

void loadUrl(String url, Map<String, String> additionalHttpHeaders) 

Yükler verilen URL.

void loadData(String data, String mimeType, String encoding) 

Verilen verileri bir 'veri' şeması URL'sini kullanarak bu Web Görünümü'ne yükler.

Bu Web Görünümünde "POST" yöntemini kullanarak URL'yi postData ile yükler.

loadUrl() HttpHeaders göndermesine izin verir, ancak posta verilerinin gönderilmesine izin vermez, diğer yöntemler HttpHeaders göndermesine izin vermiyor gibi görünüyor. Bir şeyi özlüyorum ya da denediğim şey mümkün değil mi?

+0

any bununla şansın var mı? Bu konuda yardımcı olabilecek – Ghedeon

+0

herhangi biri var mı? – dcool

+0

Aynı problemim var. lütfen bana yardım edecek herhangi bir bağlantı varsa – ashraful

cevap

1

Böyle elle HttpPost yürütebilirsiniz:

HttpClient httpclient = new DefaultHttpClient(); 
HttpPost httppost = new HttpPost("http://www.yoursite.com/postreceiver"); 

// generating your data (AKA parameters) 
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
nameValuePairs.add(new BasicNameValuePair("ParameterName", "ParameterValue")); 
// ... 

// adding your headers 
httppost.setHeader("HeaderName", "HeaderValue"); 
// ... 

// adding your data 
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

HttpResponse response = httpclient.execute(httppost); 

alın responseString olarak:

BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); 
StringBuilder builder = new StringBuilder(); 
for (String line = null; (line = reader.readLine()) != null;) { 
    builder.append(line).append("\n"); 
} 
String html = builder.toString(); 

Şimdi loadData() kullanarak yourWebView içine html koyabilirsiniz:

yourWebView.loadData(html ,"text/html", "UTF-8");