साथ फोन मैं एक कर्ल कि लग रहा है इस तरह एक सा है:कर्ल ठीक काम करता है, को छोड़कर अगर मैं इसे उपप्रक्रिया
curl -1 -X POST --user "xxx:yyy" -d "status=new&content=issue+details+at%3A+http%3A%2F%2Flocalhost%3A6543%2Ftest%2Fsubmit%2F16-07-03-H-20-18-&kind=bug&title=QA+Fail&responsible=xxx&priority=critical" "https://api.bitbucket.org/1.0/repositories/my/repo/issues"
अगर मैं एक टर्मिनल खोलने और इसे अमल यह ठीक काम करता है (एक मुद्दा बन जाता है bitbucket) में
अगर मैं उपप्रक्रिया के माध्यम से एक ही कर्ल पर अमल करने की कोशिश यह सिर्फ विफल रहता है:
:sCmd = "curl....etc"
lCmd = [s for s in sCmd.split() if s]
subprocess.call(lCmd)
मैं त्रुटि संदेश मिलता है
curl: (1) Protocol "https not supported or disabled in libcurl
मैं नहीं क्यों ठीक उसी आदेश पायथन में तो अलग काम करती है। कोई विचार?
इस तरह से, एक virtualenv के उपयोग के बिना है। और मैं एक तथ्य यह है कि lCmd
की सामग्री को मान्य
पुनश्च रहे हैं के लिए जानते हैं: हाँ, मैं जानता हूँ कि मैं अनुरोध का उपयोग करना चाहिए। दुर्भाग्य से अनुरोध मुझे समान समस्याएं दे रहे थे।
क्या होगा अगर आप ऐसा करेंगे 'lCmd = shlex.split (sCmd)'? – refi64
किसी भी तरह से सरणी के बजाय आप स्ट्रिंग का उपयोग क्यों करेंगे? पूर्व-पार्स किए गए तर्कों को पास करने से आपको अधिक नियंत्रण मिल जाता है। –
क्यों नहीं [अनुरोध] (http://docs.python-requests.org/en/master/)? – GingerPlusPlus