के साथ कर्ल का उपयोग करें मैं एक एपीआई पर पोस्ट करने के लिए curl का उपयोग करने की कोशिश कर रहा हूं जो अभी एसएनआई का उपयोग करना शुरू कर दिया है (इसलिए वे 1 आईपी पते पर एकाधिक एसएसएल कर्ट होस्ट कर सकते हैं)।एसएनआई (सर्वर नाम संकेत)
मेरा कर्ल एसएनआई को इस कदम के परिणामस्वरूप काम करना बंद कर दिया। उन्होंने समझाया कि ऐसा इसलिए है क्योंकि curl * .domain-b.com की बजाय * .domain-a.com वापस प्राप्त कर रहा है, इसलिए SSL विफल हो जाता है।
यह कर्ल में एक बग प्रतीत होता है क्योंकि ब्राउज़र से आने पर API URL में कोई त्रुटि नहीं होती है।
इस कोड का उपयोग करना, यह करता है काम:
exec('curl -k -d "parameters=here", https://urlhere.com/', $output);
print_r($output);
हालांकि, -k का उपयोग कर बुरा है क्योंकि यह एसएसएल प्रमाणपत्र सत्यापन नहीं करता।
इस कोड का उपयोग करना, काम नहीं करता:
exec('curl -d "parameters=here", https://urlhere.com/', $output);
print_r($output);
तो मेरी सवाल है, मैं कैसे SNI साथ कर्ल का उपयोग कर सकते हैं और अभी भी (-k का उपयोग नहीं) एसएसएल सत्यापित करें। PHP या एक curl विकल्प में कोई और सेटिंग है जो मैं इस पर काम करने के लिए सेट कर सकता हूं?
यदि आप libcurl का उपयोग करना चाहते हैं, तो 'CURLOPT_SSLVERSION' से '1' सेट करें (कमांड लाइन पर' -1' के बराबर होने के लिए)। – Bruno
मेरे लिए, यह स्थापित कर्ल का पुराना संस्करण था। इसे अद्यतन करने से इसे ठीक किया गया। – Justin
बीटीडब्ल्यू एसओ पर एक अच्छे जवाब का एक महान उदाहरण है। धन्यवाद –