दिलचस्प पोस्ट
डायलॉग बॉक्स 1 सेकंड के लिए चला जाता है और गायब हो जाता है? शीट में दो संपूर्ण पंक्तियों की तुलना कैसे करें कोणीय: पृष्ठभूमि-छवि के लिए एनजी-एसआरसी समकक्ष: यूआरएल (…) एचटीटीपी पीएचपी और अपाचे का उपयोग करते हुए हेडर को समाप्त करता है मैं भारतीय मुद्रा प्रारूप में स्ट्रिंग कैसे बदलूं? मैं MonoTouch और इसके विपरीत के साथ एक जावास्क्रिप्ट समारोह कैसे कॉल कर सकते हैं? PHP के साथ MySQL डेटाबेस में ब्लॉस्स सम्मिलित करें ऐरे प्लेसमेंट-न्यू को बफर में अनिर्दिष्ट ओवरहेड की आवश्यकता है? स्विफ्ट 2: कॉल फेंक सकता है, लेकिन यह 'कोशिश' के साथ चिह्नित नहीं है और त्रुटि का संचालन नहीं किया गया है पीडीओ बाँध पीएएम एक बयान में? मैं Greasemonkey के साथ इस बटन पर कैसे क्लिक करूं? Android एप्लिकेशन में वर्तमान समय और दिनांक प्रदर्शित करें जीआईटी: उत्पत्ति में खींचा गया / धकेल दिया परिवर्तन कैसे देखा जाए एक लिंक्ड सूची को सॉर्ट करें मर्ज करें लिंकिंग समस्या: घातक त्रुटि LNK1112: मॉड्यूल मशीन प्रकार 'x64' लक्ष्य मशीन प्रकार 'एक्स 86' के साथ संघर्ष

PHP कर्ल और HTTPS

मुझे यह कार्य मिला जो एक अद्भुत काम (आईएमएचओ) है: http://nadeausoftware.com/articles/2007/06/php_tip_how_get_web_page_using_curl

/** * Get a web file (HTML, XHTML, XML, image, etc.) from a URL. Return an * array containing the HTTP server response header fields and content. */ function get_web_page( $url ) { $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "spider", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect CURLOPT_TIMEOUT => 120, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } 

मेरे पास एकमात्र समस्या यह है कि यह https: // के लिए काम नहीं करता है। Anny विचार करता है कि https के लिए यह काम करने के लिए मुझे क्या करना चाहिए? धन्यवाद!

Solutions Collecting From Web of "PHP कर्ल और HTTPS"

त्वरित सुधार, इसे अपने विकल्पों में जोड़ें:

 curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false) 

या बस इसे अपने वर्तमान फ़ंक्शन में जोड़ें:

 /** * Get a web file (HTML, XHTML, XML, image, etc.) from a URL. Return an * array containing the HTTP server response header fields and content. */ function get_web_page( $url ) { $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => false, // don't return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "spider", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect CURLOPT_TIMEOUT => 120, // timeout on response CURLOPT_MAXREDIRS => 10, // stop after 10 redirects CURLOPT_SSL_VERIFYPEER => false // Disabled SSL Cert checks ); $ch = curl_init( $url ); curl_setopt_array( $ch, $options ); $content = curl_exec( $ch ); $err = curl_errno( $ch ); $errmsg = curl_error( $ch ); $header = curl_getinfo( $ch ); curl_close( $ch ); $header['errno'] = $err; $header['errmsg'] = $errmsg; $header['content'] = $content; return $header; } 

मैं PHP के साथ कुछ https API कॉल करने के लिए कर्ल का उपयोग करने की कोशिश कर रहा था और इस समस्या में भाग लिया। मुझे उस php साइट पर एक सिफारिश पर गौर मिला जिसने मुझे ऊपर उठाया और चलाया: http://php.net/manual/en/function.curl-setopt.php#110457

कृपया सभी को, CURLOPT_SSL_VERIFYPEER को झूठी या 0 को सेट करना बंद करें। अगर आपकी PHP इंस्टॉलेशन में एक अप-टू-डेट सीए रूट प्रमाणपत्र बंडल नहीं है, तो कर्ल वेबसाइट पर एक डाउनलोड करें और इसे अपने सर्वर पर सहेजें:

http://curl.haxx.se/docs/caextract.html

फिर अपने php.ini फ़ाइल में इसके लिए पथ सेट करें, जैसे विंडोज पर:

curl.cainfo = c: \ php \ cacert.pem

CURLOPT_SSL_VERIFYPEER बंद करने से मनुष्य को मध्य (एमआईटीएम) के हमलों की अनुमति मिलती है, जिसे आप नहीं चाहते हैं!