2012-08-28 22 views
10

मुझे सर्वर पर डेटा ("रेफरर" हेडर फ़ील्ड के साथ) पोस्ट करना होगा और वेबव्यू में प्रतिक्रिया लोड करना होगा।एंड्रॉइड पर HttpHeaders के साथ पोस्ट अनुरोध भेजें

अब, वहाँ विभिन्न तरीकों (Android WebView से) इसके कुछ हिस्सों करना है, कर रहे हैं की तरह है: निर्दिष्ट अतिरिक्त HTTP हेडर के साथ

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

भार दिए गए URL।

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

'डेटा' योजना यूआरएल का उपयोग करके दिए गए डेटा को इस वेबव्यू में लोड करता है।

void postUrl(String url, byte[] postData) 

इस वेबव्यू में "पोस्ट" विधि का उपयोग करके पोस्टडेटा के साथ यूआरएल लोड करता है।

loadUrl() HttpHeaders भेजने की अनुमति देता है लेकिन पोस्ट डेटा भेजने की अनुमति नहीं देता है, अन्य विधियां HttpHeaders भेजने की अनुमति नहीं दे रही हैं। क्या मुझे कुछ याद आ रहा है या मैं जो कोशिश कर रहा हूं वह संभव नहीं है?

+0

कोई भी इस के साथ कोई भाग्य है? – Ghedeon

+0

कोई भी यहां जो इस मुद्दे से मदद कर सकता है? – dcool

+0

मुझे भी वही समस्या है। कृपया किसी की मदद करने के लिए कोई लिंक है – ashraful

उत्तर

1

आप इस तरह मैन्युअल HttpPost पर अमल कर सकते हैं:

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); 

जाओ responseString के रूप में:

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(); 

अब आप loadData() का उपयोग करके yourWebView में html रख सकते हैं:

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