راکت
ftp
ftp
توسط ftp مطرح شد
حل
6 پاسخ

گرفتن کوکی با curl

@nimageneral
@mhyeganeh
@behzad.azizan
چطوری میتونم با curl کوکی یک سایت رو بگیرم


ثبت پرسش جدید
علی ام
علی ام
@aliam5 سال پیشمطرح شد
0

باید از دستور CURLOPT_COOKIEJAR و CURLOPT_COOKIEJAR استفاده کنید. دقیق تفاوتشون رو یادم نیست متاسفانه اما با جستجو میتونید بفهمید.
و این هم نمونه کدی که برای لاگین توی یه سایتی خودم نوشته بودم. این کد هم کوکی رو میگرفت و هم اگر سرور درخواست میکرد باز ارسالش میکرد براش.

$ch = curl_init('http://site.com/');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . "/cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . "/cookies.txt");
$response = curl_exec($ch);

IrajJavidan
IrajJavidan
@IrajJavidan15 سال پیشمطرح شد
0

@mehdisut

curl -c - http://example.com

ftp
ftp
تخصص :ساده
@ftp5 سال پیشمطرح شد
-1

@aliam
الان درست شد اما این ارور Error:Could not resolve host: میده


علی ام
علی ام
@aliam5 سال پیشمطرح شد
0

@mehdisut
توی استک خواندم این میتونه مربوط به این باشه که curl داره با ipv6 کار میکنه و یا مشکل از dns هست. (من که از هیچ کدوم سر در نمیارم ولی این دو کد رو گفتن امتحان کنید. اول:

curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );

و اگر نشد این رو هم امتحان کنید:

curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false );
curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 2 );

و در آخر با اینها هم میتونید جزئیات بیشتری از ارور بدست بیارید:

var_dump(curl_exec($ch));
var_dump(curl_getinfo($ch));
var_dump(curl_error($ch)); 

منبع برای توضیحات بیشتر.


ftp
ftp
تخصص :ساده
@ftp5 سال پیشمطرح شد
-1

@aliam
ببخشید یک سوال دیگه الان هر بار که با کدی که گفتید کرال میکنم کوکی جدید سایت رو به من میده یا نه؟


علی ام
علی ام
@aliam5 سال پیشمطرح شد
0

@mehdisut
بله قطعا.
هر بار کوکی جدید توی فایل cookies.txt ذخیره میشه. میتونید بازش کنید بخونیدش خودتون.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام