मैंने एक "अजीब" PHP कर्ल व्यवहार देखा है जो मुझे पागल भेज रहा है। असल में मैं जो कर रहा हूं वह कर्ल के साथ एक पाचन प्रमाणीकृत कॉल कर रहा है। यहाँ मेरी कोड के एक उद्धरण है:पाचन कर्ल डाइजेस्ट के साथ दो प्रतिक्रियाएं
curl_setopt($this->c, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($this->c, CURLOPT_USERPWD, $username . ":" . $password);
यह ठीक काम करता है और सर्वर वास्तव में संदेश की एक "हाँ, आपके द्वारा दी गई सही प्रमाणिकताएं" प्रकार के साथ वापस आता है। केवल परेशानी है, कच्चे http प्रतिक्रिया थोड़ा अजीब है क्योंकि इसमें शामिल है, वास्तव में, एक के बजाय 2 प्रतिक्रियाएं। यहां बताया गया है curl_exec है ($ this-> ग) बाहर थूक:
HTTP/1.0 401 Unauthorized
Date: Tue, 23 Oct 2012 08:41:18 GMT
Server: Apache/2.2.20 (Ubuntu)
X-Powered-By: PHP/5.3.6-13ubuntu3.9
WWW-Authenticate: Digest realm="dynamikrest-testing",qop="auth",nonce="5086582e95104",opaque="4b24e95490812b28b3bf139f9fbc9a66"
Vary: Accept-Encoding
Content-Length: 9
Connection: close
Content-Type: text/html
HTTP/1.1 200 OK
Date: Tue, 23 Oct 2012 08:41:18 GMT
Server: Apache/2.2.20 (Ubuntu)
X-Powered-By: PHP/5.3.6-13ubuntu3.9
Vary: Accept-Encoding
Content-Length: 9
Connection: close
Content-Type: text/html
"success"
मैं क्यों यह सर्वर (वह है जिसमें यह कहा गया है कि यह प्रमाणीकरण की आवश्यकता है) से पहले प्रतिक्रिया शामिल नहीं मिलता है।
क्या कोई इस मुद्दे पर कुछ प्रकाश डाल सकता है? मैं प्रतिक्रियाओं के संचलन से कैसे बचूं?
चीयर्स
के उत्पादन में मैं बिल्कुल * एक ही समस्या * है में 'cURL जानकारी' प्रविष्टि से अपने PHP द्वारा प्रयोग किया जाता है। यह टिप्पणी संकल्प में कुछ भी नहीं जोड़ती है, लेकिन मैं लोगों को यह बताना चाहता हूं कि यह पूरी तरह से अलग समस्या नहीं है। – Hezad
मैंने अंततः PHP के exec() फ़ंक्शन रैपिंग कमांड लाइन कर्ल कॉल का उपयोग किया। यह आदर्श से बहुत दूर है लेकिन यह प्रोटोटाइप के लिए अच्छा काम करता है: exec ('curl --digest -u the_login: the_password the_url', $ params); फिर भी एक उत्तर के लिए खोज और इंतजार कर रहा है। – Hezad
मैंने अभी इसे वायरशर्क और इसी तरह के सेटअप के साथ परीक्षण किया है, जब आप पाचन प्रमाणीकरण का उपयोग करते हैं तो कर्ल आग 2 अनुरोधों की तरह दिखता है, और पहला कोई प्रमाणीकरण के बिना है। अब सवाल यह है कि curl कमांड लाइन इस प्रतिक्रिया को अनदेखा क्यों करती है और php_curl इसे संलग्न करता है। – gries