2010-03-31 16 views
5

मेरी चींटी निर्माण प्रक्रिया के हिस्से के रूप में, मैं HTTP पोस्ट के माध्यम से वेबसर्वर में फ़ाइलों को अपलोड करना चाहता हूं। चींटी केवल एक HTTP प्राप्त कार्य के साथ आता है। हालांकि, Ant Contrib में एक HTTP पोस्ट कार्य प्रतीत होता है। समस्या यह है कि इसमें कोई मूल प्रमाणीकरण नहीं है (जैसे मिलता है) या फ़ाइल अपलोड निर्दिष्ट करने के किसी भी तरीके (दस्तावेज़ों के बावजूद, "rawFile" distro का हिस्सा नहीं है)।फाइल अपलोड करने के लिए चींटी के साथ http पोस्ट

मेरा प्रश्न है: क्या एंटी कंट्रिब का पोस्ट कार्य वास्तव में जो चाहता है उसका समर्थन करता है, लेकिन एक गैर-स्पष्ट तरीके से (शायद मुझे इसे हाथ से करना है)? या ऐसा करने का कोई और तरीका है?

उत्तर

6

एएनटी निष्पादन कार्य के माध्यम से curl प्रोग्राम का उपयोग करें।

कर्ल उदाहरण के लिए यह answer

+0

है यही कारण है कि मैं से डर लगता था आजमाइए। मैं ऐसा कर सकता हूं, लेकिन इसका मतलब है कि कर्ल स्थापित होना है, जिसका मतलब है कि आप केवल sv.nml से build.xml खींच नहीं सकते हैं और इसे काम करने की उम्मीद कर सकते हैं। :( – paleozogt

+0

मैं आपको एएनटी प्लगइन का उपयोग करके और भी दुखी करने के लिए सुनता हूं, * और * जब तक आप तीसरे पक्ष के जार को उपversण में नहीं करते हैं, तब तक आपकी समस्याओं का समाधान नहीं करते हैं :-( –

0

पढ़ रहे जकार्ता कॉमन्स पर http ग्राहक आधारित चींटी कार्यों की एक गुच्छा है:

http://fikin-ant-tasks.sourceforge.net/

भी प्रमाणीकरण के साथ एक http पोस्ट कार्य प्रदान करते हैं।

निष्पादन के साथ चींटी का उपयोग करते समय आप जावा वीएम के बाहर एक नई प्रक्रिया खोलेंगे। यदि संभव हो तो आईएमओ बाहरी प्रक्रियाओं से बचा जाना चाहिए।

पीएस : यदि चींटी कार्यों fikin/बुनियादी प्रमाणीकरण के साथ http पोस्ट टूट गया है मैं एक जावा वर्ग या जकार्ता कॉमन्स के साथ भी मेरे अपने कार्य लेखन पसंद करते हैं, को देखने के jakarta commons http client, sample for basic authentication2

तो यह चींटी के रूप में ही वी एम में चला सकते हैं या हो सकता है एक काँटेदार जावा प्रक्रिया
में आप कई उदाहरण गूगल के माध्यम से जकार्ता कॉमन्स httpclient के साथ फाइल अपलोड करने के लिए .. मिल जाएगा

+0

मैं मानता हूं कि चींटी निष्पादन का उपयोग बदसूरत है और मैं बल्कि शुद्ध जावा का उपयोग करना होगा। हालांकि, फ़िकिन चींटी कार्य मूल प्रमाणीकरण के लिए टूटा हुआ है। – paleozogt

+0

फ़िकिन का httpmpost कार्य बहु थ्रेडिंग मोड में काम करने में विफल रहता है। उदाहरण के लिए: थ्रेडकाउंट = 5 कार्य के लिए –

0

वहाँ Antelope में एक http पोस्ट काम है, लेकिन यह मूल प्रमाणीकरण का समर्थन करता प्रतीत नहीं होता है। :/

0

चींटी सैंडबॉक्स here में एंटीलिब भी है जो HTTP प्राप्त करने और पोस्ट करने का दावा करता है। हालांकि, इसका प्रमाणीकरण भी टूटा हुआ है।

0

मैंने एंटी-कॉन्ट्रिब के लिए एक पैच बनाया जो पोस्ट कार्य में मूल प्रमाणीकरण जोड़ता है। उम्मीद है कि यह ट्रंक में शामिल हो जाता है। ,

http://sourceforge.net/tracker/?func=detail&aid=3110414&group_id=36177&atid=416922

एक बार जब आप नई चींटी-contrib.jar स्थापित किया है बस इसे उपयोगकर्ता नाम जोड़ने और पासवर्ड पद कार्य करने के लिए जिम्मेदार बताते हैं और: इस बीच, आप स्रोत से इसे बनाने और लागू कर सकते हैं पैच अपने आप को ठीक काम करना चाहिए। फ़ाइल अपलोडिंग, मैं नहीं जानता ...

6

मैंने एक अपाचे 2.0 लाइसेंस प्राप्त, पूर्ण विशेषताओं और उपयोग करने में आसान चींटी http कार्य बनाया है। यह कोड java.net का उपयोग करता है। * कक्षाएं और कोई तीसरी पार्टी लाइब्रेरी निर्भरता नहीं है।

यह फाइलों या इन-लाइन इकाइयों के साथ पोस्ट/पुट कर सकता है, और अनपेक्षित परिणामों पर निर्माण विफलता के लिए आवश्यक शीर्षलेख, प्रमाणीकरण और स्थिति कोड जांच सेट करने के लिए लचीला विकल्प हैं।

http://missinglinkcode.wordpress.com/2011/03/15/apache-ant-http-task/

+0

ओह, एलेक्स> बस ऊपर अपनी पोस्टिंग देखी मुझे लापता लिंक के लिए अपना संकेत पोस्ट करने के बाद, आशा है कि आपको कोई फर्क नहीं पड़ता ;-) – Rebse

+0

'' के लिए पीडीएफ में उदाहरण '' ' 'टैग को बंद करें। बस सोचा था कि आपको पता होना चाहिए। हालांकि कार्य के लिए धन्यवाद इसे अभी आज़माएं! :) –

+0

क्या किसी इकाई को नाम देना संभव है? मैं कुछ ऐसा करने की कोशिश कर रहा हूं: 'curl -u उपयोगकर्ता नाम -X PUT -F [email protected]/path/to/file.zip https: // कुछ/api/foo/42'। वर्तमान में मुझे 500 त्रुटि मिल रही है, और मुझे लगता है कि ऐसा इसलिए है क्योंकि इकाई को "फ़ाइल" नाम नहीं दिया गया है, यह एपीआई की आवश्यकता के रूप में सूचीबद्ध है। कोई सलाह? –

4

एक नया चींटी http नामित "गुम लिंक" कार्य चींटी उपयोगकर्ता सूची पर घोषणा की गई है, यह = http://code.google.com/p/missing-link/

+0

गुम लिंक सही दिखता है! कोशिश करो – clacke

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