मुझे नियमित URL एन्कोडेड क्वेरी स्ट्रिंग के साथ EC2 क्वेरी API पर एक सरल GET अनुरोध करने की आवश्यकता है। प्रोटोकॉल HTTPS है। मैं PHP के कर्ल की मदद से अनुरोध कैसे भेजूं।PHP का कर्ल: HTTPS से कैसे कनेक्ट करें?
उत्तर
एक एचटीटीपीएस यूआरएल में कर्ल के माध्यम से अनुरोध भेजना, PHP कोड के संदर्भ में स्वयं ही कठिन नहीं है।
कुछ इस तरह करना चाहिए बिल्कुल ठीक (मैं सिर्फ अपनी मशीन, विंडोज, पीएचपी 5.3 पर कोड के इस भाग की कोशिश की):
$url = 'https://.../...';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
और यह ठीक परिणाम आउटपुट: एक ही बात मुझे मिलता है https://
यूआरएल तक पहुंचने का प्रयास करते समय मेरे ब्राउज़र में; निश्चित रूप से सीएसएस को छोड़कर।
आप curl_setopt
समारोह के मैनुअल पृष्ठ पर एक नज़र लेने के लिए चाहते हो सकता है: विकल्पों में से एक बहुत कुछ कर रहे हैं, और उन में से कुछ यहाँ उपयोगी हो सकता है, अपने विशिष्ट मामले :-)
में, मैंने CURLOPT_SSL_VERIFYPEER
और CURLOPT_SSL_VERIFYHOST
का उपयोग किया; सुनिश्चित नहीं है कि आपको अमेज़ॅन के साथ उन लोगों की आवश्यकता होगी, लेकिन मुझे उनका उपयोग करना पड़ा, अन्यथा कोड का यह हिस्सा काम नहीं करता था - लेकिन यह इस तथ्य से संबंधित हो सकता है कि मैं जिस प्रमाणपत्र का उपयोग कर रहा हूं वह स्वयं हस्ताक्षरित है ... उन लोगों के साथ और उसके बिना प्रयास करें, और यदि आपको उनकी आवश्यकता हो तो आपको तुरंत पता चल जाएगा।
उदाहरण:
$url = "https://example.com";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$result = curl_exec($ch);
curl_close($ch);
print_r($result);
CURLOPT_SSL_VERIFYPEER
जांच करें कि सहकर्मी प्रमाण पत्र मान्य है या अमान्य/समाप्त हो गई है।
CURLOPT_SSL_VERIFYHOSTphp manual से उद्धृत:
1 एसएसएल सहकर्मी प्रमाण पत्र में एक आम नाम के अस्तित्व की जाँच करने के। 2 से एक आम नाम के अस्तित्व की जांच करें और यह भी सत्यापित करें कि यह होस्टनाम प्रदान करता है।
क्या आप वर्णन कर सकते हैं कि SSL_VERIFYPEER और SSL_VERIFYHOST क्यों आवश्यक हैं? –
मैंने अपना जवाब संपादित किया। – rogeriopvl
यदि आप प्रमाण पत्र को अंधाधुंध रूप से स्वीकार करने के लिए कर्ल को कॉन्फ़िगर करना चाहते हैं तो आप CURLOPT_SSL_VERIFYPEER विकल्प को गलत पर सेट कर सकते हैं।
$url = 'https://www.example.com/abc';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Blindly accept the certificate
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
आप इस कार्य में सहायता के लिए ज़ेंड फ्रेमवर्क और कर्ल एडाप्टर का भी उपयोग कर सकते हैं। विवरण here
- 1. PHP https पोस्ट XML डेटा कर्ल
- 2. कर्ल - PHP कर्ल लाइब्रेरी
- 3. कर्ल (php)
- 4. पीएचपी कर्ल और HTTPS
- 5. PHP से जेएमएस कैसे कनेक्ट करें?
- 6. PHP से कर्ल
- 7. एसएसएल/https में PHP कर्ल कितना सुरक्षित है?
- 8. PHP कर्ल अनुरोध कैसे प्रतीक्षा करें?
- 9. कर्ल PHP
- 10. PHP कर्ल CURLOPT_IPRESOLVE
- 11. PHP कर्ल पोस्ट अनुरोध
- 12. PHP में कर्ल का उपयोग करते समय कुकी पढ़ना, कैसे करें?
- 13. PHP कर्ल DELETE अनुरोध
- 14. PHP कर्ल HTTP स्थिति
- 15. कर्ल
- 16. Jsoup का उपयोग कर HTTPS के माध्यम से कैसे कनेक्ट करें?
- 17. PHP curl HTTPS
- 18. PHP समांतर कर्ल अनुरोध
- 19. PHP कर्ल कस्टम हेडर
- 20. कर्ल को PHP
- 21. PHP एकाधिक कर्ल अनुरोध
- 22. PHP को कर्ल
- 23. कर्ल और php
- 24. PHP के कर्ल फ़ंक्शन
- 25. PHP कर्ल, एक्सएमएल प्रतिक्रिया
- 26. PHP कर्ल, पोस्ट JSON
- 27. PHP कर्ल को केवल
- 28. कर्ल
- 29. कर्ल और PHP
- 30. लिनक्स पर PHP से एमएस एसक्यूएल सर्वर से कनेक्ट करें?
यूआरएल http: // ...? – Sarfraz
@ सर्फ्राज़> ergh, damn copy-paste * (मैंने अपने ब्राउजर से एक यूआरएल चिपकाया, बिना किसी ध्यान के इसे 'पिछले' में इस्तेमाल नहीं किया क्योंकि यह मेरे पिछले सर्वर पर इस्तेमाल किया गया था) ;;; मैंने अपना जवाब सही करने के लिए संपादित किया है ;; टिप्पणी के लिए धन्यवाद :-) –
आपका स्वागत है :) – Sarfraz