2012-01-31 26 views
6

की माइम प्रकार मैं GET अनुरोध के साथ काम कर रहा हूँ लगता है (नवीनतम संस्करण v4-; नहीं पुराने v3) ...कैसे का उपयोग करके बनाया अपाचे HTTP ग्राहक प्रतिक्रिया

मैं कैसे प्रतिक्रिया की माइम प्रकार प्राप्त करते हैं?

Apache HTTP ग्राहक के पुराने v3 में, माइम प्रकार निम्नलिखित code--

String mimeType = response.getMimeType(); 

मैं Apache HTTP ग्राहक की v4 का उपयोग कर माइम प्रकार कैसे मिलता है का उपयोग कर प्राप्त किया गया था?

Header contentType = response.getFirstHeader("Content-Type"); 

या के रूप में

Header contentType = response.getEntity().getContentType(); 

तो फिर तुम सामग्री प्रकार एन्कोडिंग शामिल हो सकते हैं के रूप में माइम प्रकार ही निकाल सकते हैं:

उत्तर

16

एक "सामग्री-प्रकार" HTTP हेडर आप प्रकार की जानकारी स्वांग देना चाहिए भी।

String mimeType = contentType.getValue().split(";")[0].trim(); 
बेशक

, हैडर (मामले में सामग्री प्रकार शीर्ष लेख सर्वर द्वारा नहीं भेजा जाता है) का मान प्राप्त करने से पहले अशक्त की जांच के बारे में भूल नहीं है।

22

प्रतिक्रिया से सामग्री प्रकार प्राप्त करने के लिए आप ContentType कक्षा का उपयोग कर सकते हैं।

HttpEntity entity = response.getEntity(); 
ContentType contentType; 
if (entity != null) 
    contentType = ContentType.get(entity); 

इस वर्ग आप आसानी से माइम प्रकार निकाल सकते हैं का उपयोग करना:

String mimeType = contentType.getMimeType(); 

या चारसेट:

Charset charset = contentType.getCharset(); 
+2

यह स्वीकार किए जाते हैं जवाब की तुलना में एक बेहतर समाधान की तरह लगता है। –

+0

इससे मुझे बहुत मदद मिलती है। बहुत बहुत शुक्रिया। –

+3

एंड्रॉइड डेवलपर्स के लिए: सामग्री प्रकार टाइप अपाचे HTTP लाइब्रेरी – gardarh

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^