رفتن به مطلب

کار با curl و بدست آوردن مقداری در هدر بازگشتی


پست های پیشنهاد شده

سلام
مقداری را در هدر باز میگرداند را چطور می تونم بریزم توی یه متغییر ؟

مقداری که به من باز می گرداند این هست :
 

Response : HTTP/1.1 200 OK
Date: Wed, 09 Jan 2019 07:12:52 GMT
Content-Length: 0
Connection: keep-alive
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: x-requested-with,content-type,Cache-Control,Pragma,Date,X-Auth-Token,Authorization,App-Version,Device-Token,Device-Type
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: X-Auth-Token
Server: CentrioCore Server
X-Auth-Token: 4dbc25a1bfe33e975d055d1de59ee50269dad150f85436ca60125f184813897e821d

 

من مقدار توکن را می خوام یعنی : X-Auth-Token .

چطور می تونم این را بریزم توی یه متغییر و ازش استفاده کنم .

لینک به ارسال

سلام و درود @runy

 

function getAuthToken($url) {
	
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_NOBODY, true);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HEADER, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

	$headers = curl_exec($ch);

	curl_close($ch);

	$data = [];
	$headers = explode(PHP_EOL, $headers);
	foreach ($headers as $row) {
		$parts = explode(':', $row);
		if (count($parts) === 2) {
			$data[trim($parts[0])] = trim($parts[1]);
		}
	}
	
	return $data['x-auth-token'];
	
}

 

لینک به ارسال
در 30 دقیقه قبل، mehran-b گفته است :

سلام و درود @runy

 


function getAuthToken($url) {
	
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_NOBODY, true);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	curl_setopt($ch, CURLOPT_HEADER, true);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

	$headers = curl_exec($ch);

	curl_close($ch);

	$data = [];
	$headers = explode(PHP_EOL, $headers);
	foreach ($headers as $row) {
		$parts = explode(':', $row);
		if (count($parts) === 2) {
			$data[trim($parts[0])] = trim($parts[1]);
		}
	}
	
	return $data['x-auth-token'];
	
}

 

ممنون از وقتی که گذاشتید .
در این کد به $headers گیر میدهد .

میشه در موردش کمی توضیح بدید از قسمتی که متغییر data را مینویسید .

لینک به ارسال
در 2 دقیقه قبل، runy گفته است :

میشه در موردش کمی توضیح بدید از قسمتی که متغییر data را مینویسید .

اینجا ما به CURL گفتیم که فقط رشته header رو دریافت کن.

بعد اومدیم رشته رو با تابع explode هر خط از رشته رو کردیم یه عضو آرایه headers بعدشم هر خط رو از کاراکتر : به دو تیکه جدا کردیم.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...