2011-01-14 15 views
5

पर सहेजें, मैं इस अनुरोध पर एक HTTP अनुरोध करना चाहता हूं और वर्तमान स्क्रिप्ट (विशेष रूप से सत्र पहचानने वाले कुकीज) द्वारा प्राप्त सभी कुकीज़ को पास करना चाहता हूं। फिर मैं आगे हेरफेर के लिए एक स्ट्रिंग में परिणाम को सहेजना चाहता हूं। PHP में ऐसा करने का सबसे अच्छा तरीका क्या है?PHP कुकीज पास करने का एक HTTP अनुरोध कैसे करें और परिणाम को स्ट्रिंग

+0

के संभावित डुप्लिकेट [पीएचपी - file_get_contents साथ भेजें कुकी] (http://stackoverflow.com/questions/3431160/php-send-cookie -साथ-फ़ाइल-प्राप्त-सामग्री) – Gordon

+0

possiblr डुप्लिकेट [अगली प्रतिक्रिया से पहली प्रतिक्रिया से कुकीज़ की प्रतिलिपि बनाना] (http://stackoverflow.com/questions/4212442/copying-cookies-from-first-response-to-next- अनुरोध) – Gordon

+0

गॉर्डन - एक और ऐसा उदाहरण और आप मुझे इस प्रश्न को बंद करने के लिए मना सकते हैं;) – agsamek

उत्तर

6

curl? - यह सरल और supprot कुकीज़ है।

संपादित 19.1 - यहाँ उदाहरण

 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

curl_setopt($ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt'); 
curl_setopt($ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt'); 

$output = curl_exec($ch); 
$info = curl_getinfo($ch); 
curl_close($ch); 

CURLOPT_COOKIEJAR फ़ाइल जहां कर्ल सर्वर से भेजे कुकीज़ डाल और CURLOPT_COOKIEFILE cURL द्वारा भेजने (एक ही एक के लिए यह निर्धारित करने फ़ाइल कुकीज़ कर देगा) के लिए कुकीज़ के साथ फ़ाइल है।

एक और विकल्प मैन्युअल रूप से परिणाम से कुकीज पढ़ता है (CURLOPT_HEADER को '1' पर सेट करें - यह परिणाम हेडर को $ आउटपुट में डाल देगा) और CURLOPT_COOKIE के माध्यम से कुकीज़ भेजें (इसे प्रारूप में कुकीज़ की सूची में सेट करें 'foo = bar; bar = foo; ')

नोट - libcurl php.ini में सक्षम होना चाहिए

+0

क्या आप यहां कुछ सोर्सकोड प्रदान कर सकते हैं जो धारावाहिक स्क्रिप्ट के कुकीज़ और पैरामीटर पास करता है और क्या यह पुस्तकालय एक मानक PHP होस्टिंग पर उपलब्ध है? – agsamek

+0

जोड़ा गया उदाहरण :-) – SergeS

+0

धन्यवाद- अच्छा लग रहा है, बीटीडब्ल्यू- क्या यह libcurl के बिना ऐसा करना संभव है? – agsamek