PHP में, मुझे कई PHP प्रोजेक्ट्स में cURL शब्द दिखाई देता है। यह क्या है? यह कैसे काम करता है?
संदर्भ लिंक: cURL
PHP में, मुझे कई PHP प्रोजेक्ट्स में cURL शब्द दिखाई देता है। यह क्या है? यह कैसे काम करता है?
संदर्भ लिंक: cURL
जवाबों:
cURL एक पुस्तकालय है जो आपको PHP में HTTP अनुरोध करने देता है। इसके बारे में (और अधिकांश अन्य एक्सटेंशन) जानने के लिए आपको जो कुछ भी चाहिए वह PHP मैनुअल में मिल सकता है ।
PHP के cURL फ़ंक्शन का उपयोग करने के लिए आपको »libcurl पैकेज को स्थापित करने की आवश्यकता है। PHP के लिए आवश्यक है कि आप libcurl 7.0.2-beta या उच्चतर का उपयोग करें। PHP 4.2.3 में, आपको libcurl संस्करण 7.9.0 या उच्चतर की आवश्यकता होगी। PHP 4.3.0 से, आपको एक libcurl संस्करण की आवश्यकता होगी जो 7.9.8 या उच्चतर है। PHP 5.0.0 को एक libcurl संस्करण 7.10.5 या अधिक की आवश्यकता होती है।
आप बिना cURL के HTTP अनुरोध कर सकते हैं, हालांकि, इसे allow_url_fopen
आपकी php.ini
फ़ाइल में सक्षम करने की आवश्यकता है ।
// Make a HTTP GET request and print it (requires allow_url_fopen to be enabled)
print file_get_contents('http://www.example.com/');
cURL एक ऐसा तरीका है जिससे आप HTML कोड प्राप्त करने के लिए अपने कोड से URL हिट कर सकते हैं। cURL का अर्थ क्लाइंट URL है जो आपको अन्य URL से जुड़ने और अपने कोड में उनकी प्रतिक्रियाओं का उपयोग करने की अनुमति देता है।
सारांश:
curl_exec
PHP में आदेश का उपयोग करने के लिए एक पुल है curl
कंसोल से। curl_exec इसे जल्दी और आसानी से GET / POST अनुरोधों को आसान बनाता है, JSON जैसे अन्य सर्वरों से प्रतिक्रियाएं प्राप्त करता है और फाइलें डाउनलोड करता है।
चेतावनी, खतरा:
curl
गलत और खतरनाक है अगर अनुचित तरीके से उपयोग किया जाता है क्योंकि यह इंटरनेट में डेटा बाहर से प्राप्त करने के बारे में है। कोई आपके कर्ल और अन्य सर्वर के बीच मिल सकता है और rm -rf /
आपकी प्रतिक्रिया में इंजेक्ट कर सकता है, और फिर मुझे एक कंसोल पर क्यों छोड़ा गया है और ls -l
यह अब काम नहीं करता है? क्योंकि आपने कर्ल की खतरनाक शक्ति को कम करके आंका है। कर्ल से वापस आने वाली किसी भी चीज़ पर भरोसा न करें, भले ही आप अपने सर्वर से बात कर रहे हों। आप उनके धन के मूर्खों को राहत देने के लिए मैलवेयर वापस खींच सकते हैं।
ये Ubuntu 12.10 पर किए गए थे
कमांडलाइन से मूल कर्ल:
el@apollo:/home/el$ curl http://i.imgur.com/4rBHtSm.gif > mycat.gif
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 492k 100 492k 0 0 1077k 0 --:--:-- --:--:-- --:--:-- 1240k
फिर आप फ़ायरफ़ॉक्स में अपना जिफ़ खोल सकते हैं:
firefox mycat.gif
टोक्सोप्लाज्मा गोंडी को विकसित करने वाली शानदार बिल्लियाँ महिलाओं को चारों ओर बिल्लियों को रखने के लिए प्रेरित करती हैं और इसी तरह पुरुषों को महिलाओं को रखने के लिए।
CURL उदाहरण को google.com हिट करने का अनुरोध मिलता है, कमांडो को प्रतिध्वनि:
यह phpsh टर्मिनल के माध्यम से किया जाता है:
php> $ch = curl_init();
php> curl_setopt($ch, CURLOPT_URL, 'http://www.google.com');
php> curl_exec($ch);
जो कंसंटेड html और जावास्क्रिप्ट (गूगल से) कंसोल में गड़बड़ी को प्रिंट और डंप करता है।
cURL उदाहरण ने प्रतिक्रिया पाठ को एक चर में रखा:
यह phpsh टर्मिनल के माध्यम से किया जाता है:
php> $ch = curl_init();
php> curl_setopt($ch, CURLOPT_URL, 'http://i.imgur.com/wtQ6yZR.gif');
php> curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
php> $contents = curl_exec($ch);
php> echo $contents;
चर में अब बाइनरी है जो एक बिल्ली का एक एनिमेटेड जिफ है, संभावनाएं अनंत हैं।
एक PHP फ़ाइल के भीतर से एक कर्ल करें:
इस कोड को myphp.php नामक फ़ाइल में रखें:
<?php
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://www.google.com');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer)){
print "Nothing returned from url.<p>";
}
else{
print $buffer;
}
?>
फिर इसे कमांडलाइन के माध्यम से चलाएं:
php < myphp.php
आपने myphp.php चलाया और php दुभाषिया के माध्यम से उन कमांड्स को निष्पादित किया और स्क्रीन पर एक टन गंदे html और जावास्क्रिप्ट को डंप किया।
आप कर्ल के साथ कर सकते हैं GET
और POST
अनुरोध कर सकते हैं , आप जो कुछ भी कर रहे हैं वह यहां निर्दिष्ट मापदंडों के अनुसार है: HTTP नौकरियों को स्वचालित करने के लिए कर्ल का उपयोग करना
खतरे की याद:
यदि आप इसकी किसी भी व्याख्या और क्रियान्वित हो जाते हैं, तो इसके चारों ओर कर्लिंग आउटपुट से सावधान रहें, आपका बॉक्स स्वामित्व में है और आपके क्रेडिट कार्ड की जानकारी तीसरे पक्ष को बेची जाएगी और आपको अलबामा के एक-मैन फ़्लोरिंग कंपनी से एक रहस्यमयी $ 900 चार्ज मिलेगा। विदेशी क्रेडिट कार्ड धोखाधड़ी अपराध की अंगूठी के लिए सामने।
cURL एक ऐसा तरीका है जिससे आप HTML कोड प्राप्त करने के लिए अपने कोड से URL को हिट कर सकते हैं। यह PHP भाषा से कमांड लाइन cURL के लिए उपयोग किया जाता है।
<?php
// Step 1
$cSession = curl_init();
// Step 2
curl_setopt($cSession,CURLOPT_URL,"http://www.google.com/search?q=curl");
curl_setopt($cSession,CURLOPT_RETURNTRANSFER,true);
curl_setopt($cSession,CURLOPT_HEADER, false);
// Step 3
$result=curl_exec($cSession);
// Step 4
curl_close($cSession);
// Step 5
echo $result;
?>
चरण 1: एक कर्ल सत्र का उपयोग करके प्रारंभ करें curl_init()
।
चरण 2: के लिए विकल्प सेट करें CURLOPT_URL
। यह मान वह URL है जिसे हम अनुरोध भेज रहे हैं। curl
पैरामीटर का उपयोग करके खोज शब्द जोड़ें q=
। के लिए विकल्प सेट करें CURLOPT_RETURNTRANSFER
। यह सच है कि कर्ल को प्रिंट आउट के बजाय स्ट्रिंग वापस करने के लिए कहेंगे। CURLOPT_HEADER
वापसी के मूल्य में शीर्षलेख को अनदेखा करने के लिए , झूठा कर्ल को बताएगा के लिए विकल्प सेट करें ।
चरण 3: उपयोग कर कर्ल सत्र निष्पादित करें curl_exec()
।
चरण 4: हमारे द्वारा बनाए गए कर्ल सत्र को बंद करें।
चरण 5: रिटर्न स्ट्रिंग को आउटपुट करें।
public function curlCall($apiurl, $auth, $rflag)
{
$ch = curl_init($apiurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if($auth == 'auth') {
curl_setopt($ch, CURLOPT_USERPWD, "passw:passw");
} else {
curl_setopt($ch, CURLOPT_USERPWD, "ss:ss1");
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$dt = curl_exec($ch);
curl_close($ch);
if($rflag != 1) {
$dt = json_decode($dt,true);
}
return $dt;
}
यह प्रमाणीकरण के लिए भी उपयोग किया जाता है। हम प्रमाणीकरण के लिए उपयोगकर्ता नाम और पासवर्ड भी सेट कर सकते हैं।
अधिक कार्यक्षमता के लिए, उपयोगकर्ता पुस्तिका या निम्न ट्यूटोरियल देखें:
http://php.net/manual/en/ref.curl.php
http://www.startutorial.com/articles/view/php-cwl
सबसे पहले आइए हम कर्ल, लिबासर्ल और PHP / cURL की अवधारणाओं को समझें।
कर्ल : URL सिंटैक्स का उपयोग करके फ़ाइलें प्राप्त करने या भेजने के लिए एक कमांड लाइन उपकरण।
libcurl : डैनियल स्टेनबर्ग द्वारा बनाई गई एक लाइब्रेरी, जो आपको कई अलग-अलग प्रकार के प्रोटोकॉल के साथ कई अलग-अलग प्रकार के सर्वर से कनेक्ट और संचार करने की अनुमति देती है। libcurl वर्तमान में http, https, ftp, gopher, telnet, dict, file, और ldap प्रोटोकॉल का समर्थन करता है। libcurl HTTPS प्रमाणपत्र, HTTP POST, HTTP PUT, FTP अपलोडिंग का समर्थन करता है (यह PHP के FTP एक्सटेंशन के साथ भी किया जा सकता है), HTTP फॉर्म आधारित अपलोड, परदे के पीछे, कुकीज़, और उपयोगकर्ता + पासवर्ड प्रमाणीकरण।
PHP / cURL : PHP का मॉड्यूल जो PHP प्रोग्राम के लिए libcurl का उपयोग करना संभव बनाता है।
इसे कैसे उपयोग करे:
चरण 1 : एक कर्ल सत्र का उपयोग करें curl_init () को प्रारंभ करें।
चरण 2 : CURLOPT_URL के लिए विकल्प सेट करें। यह मान वह URL है जिसे हम अनुरोध भेज रहे हैं। पैरामीटर "q =" का उपयोग करके एक खोज शब्द "कर्ल" भेजें। सेट विकल्प CURLOPT_RETURNTRANSFER, सच कर्ल को बताएगा कि इसे छापने के बजाय स्ट्रिंग वापस लौटाएं। CURLOPT_HEADER के लिए विकल्प सेट करें, गलत बताएगा कर्ल रिटर्न मान में हेडर को अनदेखा करेगा।
चरण 3 : कर्ल_सेक्स () का उपयोग करके कर्ल सत्र निष्पादित करें।
चरण 4 : हमने बनाया कर्ल सत्र बंद करें।
चरण 5 : रिटर्न स्ट्रिंग आउटपुट करें।
डेमो बनाएं :
आपको दो PHP फाइलें बनाने और उन्हें एक फ़ोल्डर में रखने की आवश्यकता होगी जो आपका वेब सर्वर PHP फ़ाइलों से सेवा कर सकता है। मेरे मामले में मैंने उन्हें सरलता के लिए / var / www / में डाल दिया।
1. हेलोसोवेर्स.फपी और 2. डेमो.फ्प
helloservice.php बहुत ही सरल है और अनिवार्य रूप से किसी भी डेटा को वापस मिल जाता है:
<?php
// Here is the data we will be sending to the service
$some_data = array(
'message' => 'Hello World',
'name' => 'Anand'
);
$curl = curl_init();
// You can also set the URL you want to communicate with by doing this:
// $curl = curl_init('http://localhost/echoservice');
// We POST the data
curl_setopt($curl, CURLOPT_POST, 1);
// Set the url path we want to call
curl_setopt($curl, CURLOPT_URL, 'http://localhost/demo.php');
// Make it so the data coming back is put into a string
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
// Insert the data
curl_setopt($curl, CURLOPT_POSTFIELDS, $some_data);
// You can also bunch the above commands into an array if you choose using: curl_setopt_array
// Send the request
$result = curl_exec($curl);
// Get some cURL session information back
$info = curl_getinfo($curl);
echo 'content type: ' . $info['content_type'] . '<br />';
echo 'http code: ' . $info['http_code'] . '<br />';
// Free up the resources $curl is using
curl_close($curl);
echo $result;
?>
2.demo.php पेज, आप परिणाम देख सकते हैं:
<?php
print_r($_POST);
//content type: text/html; charset=UTF-8
//http code: 200
//Array ( [message] => Hello World [name] => Anand )
?>
PHP के लिए CURL एक्सटेंशन को आपके PHP स्क्रिप्ट के भीतर से विभिन्न प्रकार के वेब संसाधनों का उपयोग करने की अनुमति देने के लिए डिज़ाइन किया गया है।
PHP डैनियल स्टेनबर्ग द्वारा बनाई गई एक लाइब्रेरी libcurl का समर्थन करती है, जो आपको कई अलग-अलग प्रकार के प्रोटोकॉल के साथ कई अलग-अलग प्रकार के सर्वर से कनेक्ट और संचार करने की अनुमति देती है। libcurl वर्तमान में http, https, ftp, gopher, telnet, dict, file, और ldap प्रोटोकॉल का समर्थन करता है। libcurl HTTPS प्रमाणपत्र, HTTP POST, HTTP PUT, FTP अपलोडिंग का समर्थन करता है (यह PHP के FTP एक्सटेंशन के साथ भी किया जा सकता है), HTTP फॉर्म आधारित अपलोड, परदे के पीछे, कुकीज़, और उपयोगकर्ता + पासवर्ड प्रमाणीकरण।
एक बार आपने PHP को cURL समर्थन के साथ संकलित कर लिया है, तो आप cURL फ़ंक्शन का उपयोग करना शुरू कर सकते हैं। CURL फ़ंक्शन के पीछे मूल विचार यह है कि आप कर्ल_इनिट () का उपयोग करके एक cURL सत्र को आरंभ करते हैं, फिर आप curl_setopt () के माध्यम से स्थानांतरण के लिए अपने सभी विकल्प सेट कर सकते हैं, फिर आप curl_exec () और तब आप सत्र को निष्पादित कर सकते हैं curl_close () का उपयोग करके अपना सत्र समाप्त करें।
// error reporting
error_reporting(E_ALL);
ini_set("display_errors", 1);
//setting url
$url = 'http://example.com/api';
//data
$data = array("message" => "Hello World!!!");
try {
$ch = curl_init($url);
$data_string = json_encode($data);
if (FALSE === $ch)
throw new Exception('failed to initialize');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string)));
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
$output = curl_exec($ch);
if (FALSE === $output)
throw new Exception(curl_error($ch), curl_errno($ch));
// ...process $output now
} catch(Exception $e) {
trigger_error(sprintf(
'Curl failed with error #%d: %s',
$e->getCode(), $e->getMessage()),
E_USER_ERROR);
}
कर्ल और कुछ नहीं बल्कि PHP का एक विस्तार है जो मुख्य रूप से लिनक्स / यूनिक्स कमांड लाइन टूल के लिए लिखे गए सामान्य कर्ल कमांड और लाइब्रेरी के व्यवहार को विरासत में मिला है।
कर्ल क्या है? क्लाइंट URL के लिए cURL स्टैंड। CURL का उपयोग किसी भी URL पर डेटा भेजने के लिए किया जाता है। क्या कर्ल वास्तव में है के बारे में अधिक विस्तार के लिए, आप CURL वेबसाइट पर जा सकते हैं
PHP में cURL अब एक ही अवधारणा को PHP में पेश किया जाता है, विभिन्न प्रोटोकॉल के माध्यम से किसी भी सुलभ URL को डेटा भेजने के लिए, उदाहरण के लिए, HTTP या FTP। अधिक विस्तार के लिए, आप PHP कर्ल ट्यूटोरियल का संदर्भ ले सकते हैं
Php कर्ल फ़ंक्शन (POST, GET, DELETE, PUT)
function curl($post = array(), $url, $token = '', $method = "POST", $json = false, $ssl = true){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
if($method == 'POST'){
curl_setopt($ch, CURLOPT_POST, 1);
}
if($json == true){
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json','Authorization: Bearer '.$token,'Content-Length: ' . strlen($post)));
}else{
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 6);
if($ssl == false){
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
// curl_setopt($ch, CURLOPT_HEADER, 0);
$r = curl_exec($ch);
if (curl_error($ch)) {
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$err = curl_error($ch);
print_r('Error: ' . $err . ' Status: ' . $statusCode);
// Add error
$this->error = $err;
}
curl_close($ch);
return $r;
}
Php कर्ल क्लास (GET, POST, FILES UPLOAD, SESSIONS, SST POST JSON, FORCE SELFSIGNED SSL / TLS):
<?php
// Php curl class
class Curl {
public $error;
function __construct() {}
function Get($url = "http://hostname.x/api.php?q=jabadoo&txt=gin", $forceSsl = false,$cookie = "", $session = true){
// $url = $url . "?". http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if($session){
curl_setopt($ch, CURLOPT_COOKIESESSION, true );
curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
}
if($forceSsl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
}
if(!empty($cookie)){
curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
}
$info = curl_getinfo($ch);
$res = curl_exec($ch);
if (curl_error($ch)) {
$this->error = curl_error($ch);
throw new Exception($this->error);
}else{
curl_close($ch);
return $res;
}
}
function GetArray($url = "http://hostname.x/api.php", $data = array("name" => "Max", "age" => "36"), $forceSsl = false, $cookie = "", $session = true){
$url = $url . "?". http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if($session){
curl_setopt($ch, CURLOPT_COOKIESESSION, true );
curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
}
if($forceSsl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
}
if(!empty($cookie)){
curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
}
$info = curl_getinfo($ch);
$res = curl_exec($ch);
if (curl_error($ch)) {
$this->error = curl_error($ch);
throw new Exception($this->error);
}else{
curl_close($ch);
return $res;
}
}
function PostJson($url = "http://hostname.x/api.php", $data = array("name" => "Max", "age" => "36"), $forceSsl = false, $cookie = "", $session = true){
$data = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if($session){
curl_setopt($ch, CURLOPT_COOKIESESSION, true );
curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
}
if($forceSsl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
}
if(!empty($cookie)){
curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
}
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer helo29dasd8asd6asnav7ffa',
'Content-Type: application/json',
'Content-Length: ' . strlen($data))
);
$res = curl_exec($ch);
if (curl_error($ch)) {
$this->error = curl_error($ch);
throw new Exception($this->error);
}else{
curl_close($ch);
return $res;
}
}
function Post($url = "http://hostname.x/api.php", $data = array("name" => "Max", "age" => "36"), $files = array('ads/ads0.jpg', 'ads/ads1.jpg'), $forceSsl = false, $cookie = "", $session = true){
foreach ($files as $k => $v) {
$f = realpath($v);
if(file_exists($f)){
$fc = new CurlFile($f, mime_content_type($f), basename($f));
$data["file[".$k."]"] = $fc;
}
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); // !!!! required as of PHP 5.6.0 for files !!!
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
if($session){
curl_setopt($ch, CURLOPT_COOKIESESSION, true );
curl_setopt($ch , CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt($ch , CURLOPT_COOKIEFILE, 'cookies.txt');
}
if($forceSsl){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // 1, 2
}
if(!empty($cookie)){
curl_setopt($ch, CURLOPT_COOKIE, $cookie); // "token=12345"
}
$res = curl_exec($ch);
if (curl_error($ch)) {
$this->error = curl_error($ch);
throw new Exception($this->error);
}else{
curl_close($ch);
return $res;
}
}
}
?>
उदाहरण:
<?php
$urlget = "http://hostname.x/api.php?id=123&user=bax";
$url = "http://hostname.x/api.php";
$data = array("name" => "Max", "age" => "36");
$files = array('ads/ads0.jpg', 'ads/ads1.jpg');
$curl = new Curl();
echo $curl->Get($urlget, true, "token=12345");
echo $curl->GetArray($url, $data, true);
echo $curl->Post($url, $data, $files, true);
echo $curl->PostJson($url, $data, true);
?>
Php फ़ाइल: api.php
<?php
/*
$Cookie = session_get_cookie_params();
print_r($Cookie);
*/
session_set_cookie_params(9000, '/', 'hostname.x', isset($_SERVER["HTTPS"]), true);
session_start();
$_SESSION['cnt']++;
echo "Session count: " . $_SESSION['cnt']. "\r\n";
echo $json = file_get_contents('php://input');
$arr = json_decode($json, true);
echo "<pre>";
if(!empty($json)){ print_r($arr); }
if(!empty($_GET)){ print_r($_GET); }
if(!empty($_POST)){ print_r($_POST); }
if(!empty($_FILES)){ print_r($_FILES); }
// request headers
print_r(getallheaders());
print_r(apache_response_headers());
// Fetch a list of headers to be sent.
// print_r(headers_list());
?>