मैं अपने शरीर में एक जेसन ऑब्जेक्ट के साथ एक HTTP GET भेजने की कोशिश कर रहा हूं। HttpClient HttpGet के शरीर को सेट करने का कोई तरीका है? मैं HttpPost # setEntity के बराबर की तलाश में हूं।अपाचे एचटीपी क्लाइंट शरीर के साथ प्राप्त करें
उत्तर
जो मुझे पता है, उससे आप डिफ़ॉल्ट एचटीपीजीट क्लास के साथ ऐसा नहीं कर सकते जो अपाचे लाइब्रेरी के साथ आता है। हालांकि, आप HttpEntityEnclosingRequestBase इकाई उपखंड कर सकते हैं और GET को विधि सेट कर सकते हैं। मैं इस परीक्षण नहीं किया है, लेकिन मैं निम्न उदाहरण क्या आप देख रहे हैं हो सकता है लगता है:
import org.apache.http.client.methods.HttpEntityEnclosingRequestBase;
public class HttpGetWithEntity extends HttpEntityEnclosingRequestBase {
public final static String METHOD_NAME = "GET";
@Override
public String getMethod() {
return METHOD_NAME;
}
}
संपादित करें:
...
HttpGetWithEntity e = new HttpGetWithEntity();
...
e.setEntity(yourEntity);
...
response = httpclient.execute(e);
का उपयोग करना:
इसके बाद आप निम्न कर सकता है torbinsky के जवाब मैंने उपरोक्त वर्ग बनाया। यह मुझे HttpPost के लिए एक ही तरीके का उपयोग करने देता है।
import java.net.URI;
import org.apache.http.client.methods.HttpPost;
public class HttpGetWithEntity extends HttpPost {
public final static String METHOD_NAME = "GET";
public HttpGetWithEntity(URI url) {
super(url);
}
public HttpGetWithEntity(String url) {
super(url);
}
@Override
public String getMethod() {
return METHOD_NAME;
}
}
पर काम करता प्रतीत होता है मैंने उपरोक्त कोड को एक वेब सेवा के साथ करने की कोशिश की जिसे मुझे अपनी परियोजना पर बात करने की ज़रूरत है और नहीं। मुझे बस सेवा डिमन लॉग "आंतरिक अनुप्रयोग त्रुटि, कनेक्शन बंद करने" पर प्राप्त होता है। जर्सी ने इकाइयों के साथ एक एचटीपीजीट की पेशकश की (जिसे अलग-अलग कहा जाता है), लेकिन दुख की बात है कि अपाचे नहीं है। यह विशेष वेब सेवा वास्तव में एक जीईटी अनुरोध की उम्मीद है, न कि एक पोस्ट। –
कैसे हम सिर्फ HttpGet & HttpPost की तरह इस उदाहरण में अनुरोध URI भेज सकते हैं ???
public class HttpGetWithEntity extends HttpEntityEnclosingRequestBase
{
public final static String METHOD_NAME = "GET";
@Override
public String getMethod() {
return METHOD_NAME;
}
HttpGetWithEntity e = new HttpGetWithEntity();
e.setEntity(yourEntity);
response = httpclient.execute(e);
}
- 1. अपाचे एचटीपी क्लाइंट डाइजेस्ट प्रमाणीकरण
- 2. जावा संचार अपाचे एचटीपी क्लाइंट
- 3. जावा में अपाचे एचटीपी क्लाइंट, instream.toString = org.apache.http.conn.EofSensorInputStream
- 4. जावा: अपाचे एचटीपी क्लाइंट> रीट्री
- 5. एंड्रॉइड पर अपाचे एचटीपी क्लाइंट 4.1
- 6. एचटीपी क्लाइंट
- 7. अपाचे एचटीपी क्लाइंट सर्वर रणनीति के लिए एकाधिक मतदान कनेक्शन
- 8. एचटीपी क्लाइंट
- 9. एचटीपी क्लाइंट वेब एपीआई
- 10. जावा एचटीपी क्लाइंट
- 11. एचटीपी क्लाइंट को रीसेट क्लाइंट
- 12. एचटीपी क्लाइंट और .net4
- 13. अपाचे एचटीपी क्लाइंट 4.0-बीटा 2 httppost, रेफरर कैसे जोड़ें?
- 14. अपाचे एचटीपी क्लाइंट एक बाइट रेंज हेडर जोड़ता है?
- 15. एंड्रॉइड: एचटीपी क्लाइंट प्रति एप्लिकेशन
- 16. एंड्रॉइड एचटीपी क्लाइंट और एचटीटीपीएस
- 17. एचटीपी क्लाइंट 4.0.1
- 18. एंड्रॉइड एचटीपी क्लाइंट
- 19. एंड्रॉइड एचटीपी क्लाइंट प्रदर्शन
- 20. अपाचे एचटीपी क्लाइंट के साथ, मेरा कनेक्शन टाइमआउट क्यों काम नहीं कर रहा है?
- 21. एंड्रॉइड एचटीपी क्लाइंट कुकी
- 22. सरल एचटीपी प्रतिक्रिया प्राप्त करें
- 23. अपाचे कॉमन्स एचटीपी क्लाइंट 3.1 कैसे बनाएं HTTPS प्रमाणपत्र अमान्यता को अनदेखा करें?
- 24. आरईएसटी एपीआई: शरीर के साथ अनुरोध प्राप्त करें
- 25. अपाचे HTTP क्लाइंट के लॉगिंग को अक्षम करें?
- 26. अपाचे मीना: किसी कनेक्टेड क्लाइंट से आईपी कैसे प्राप्त करें
- 27. एएसपी.नेट वेब एपीआई एचटीपी क्लाइंट
- 28. नेट 4.0 एचटीपी क्लाइंट उपयोग?
- 29. एचटीपी क्लाइंट का उपयोग कर जावा में एचटीपी मूल प्रमाणीकरण?
- 30. अपाचे एचटीपी क्लाइंट का उपयोग अनुरोध और प्रतिक्रिया पर TIMEOUT को सेट करने के लिए
लगभग नकल: http://stackoverflow.com/questions/978061/http-get-with-request-body –
निकिता - मेरा प्रश्न एक आप पोस्ट करने के लिए इसी तरह की है, लेकिन मैं विशेष रूप से कैसे पूछ रहा हूँ Apache HttpClient API के माध्यम से ऐसा करने के लिए। फिर भी आपका धन्यवाद। –
उत्तर का आक्रामक रूप से यह संभव नहीं है। जीईटी अनुरोध विनिर्देश के अनुसार शरीर नहीं हो सकता है। आपको POST अनुरोधों का उपयोग करने की आवश्यकता है। –