CURL (PHP) ile bir süredir WordPress'te Logging ile uğraşıyordum. Sanırım her şeyi denedim, ama bir şey özledim gibi görünüyor. Giriş yaptığımda Çerezlerimi kaydetmek için CURL alamıyorum. Tuhaf olan şey, çerezleri dosyaya kaydedemesem de, her şey daha fazla ya da daha az çalışıyor, yükseltme Worpdress Plugins (şu anda üzerinde çalışıyorum). Ben wordpress için giriş yapabilirim, ve hatta otomatik bir ugprade preg_matching bağlantı ve üzerinde kıvırma ayarlayabilirsiniz - Wordpress çekirdek yükseltmeleri hiçbir sorun olmadan, ancak eklentileri söz konusu olduğunda herhangi bir nedenle - Ben sadece yapamam. Dün geceki problemin yattığını tahmin ettim, ama hiçbir şey yapmadı. Şimdi CURL'den ve FireFox'tan aldığım çerezleri karşılaştırmaya karar verdiğimde CURL'den çerez yok.CURL Çerezleri Kaydetmez (PHP)
Pekala, işte burada Seçenekler'i ayarlıyorum (yorumda bulunmuş şeylere aldırış etmeyin, her şeyi kontrol ettiğim şeyleri kontrol ettim ve yerleştirdim ...).
$cookieFile = 'cookies.txt';
$channel = curl_init();
curl_setopt_array($channel, array (
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_TIMEOUT => 60,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_COOKIEFILE => $cookieFile,
CURLOPT_COOKIEJAR => $cookieFile,
CURLOPT_AUTOREFERER => true,
CURLOPT_POSTFIELDS => $loginPostData,
CURLOPT_POST => 1,
#CURLOPT_FRESH_CONNECT => 1
#CURLOPT_FAILONERROR => 1
));
# curl_setopt ($channel, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
#
# Shorten curl_exec for our $channel
#
function copen($openUrl, $custom = FALSE) {
global $channel;global $siteUrl;
if($custom) {$siteUrl = "";}
curl_setopt ($channel, CURLOPT_URL, $siteUrl.$openUrl);
$result = curl_exec ($channel) or die(curl_error($channel));
echo "<h3> Opening: $openUrl </h3>";
return $result;
}
Bu yüzden bir arama yaptım ve çerezleri almaya çalıştı ve bu başarısız oldu:
preg_match('/^Set-Cookie: (.*?);/mi', $result, $m);
echo(parse_url($m[1]));
Ben de file_get_contents() ile $ cookieFile yankılanan çalıştı - boş. Dosyayı yaklaşık 15 kez kontrol ettim - bu bir 777 yazılabilir dosyadır. Buna file_put_contents() ile yazmayı denedim ve başarılı oldum, bu yüzden dosya konumunda ve/veya izinlerde hata var. Belli ki bir şeyi özlüyorum, sadece göremiyorum.
Saygılarımızla :)
Buraya giriş yaptıktan sonra cookie/oturumu canlı tutabiliyor muydunuz? Anlamı - Yeniden giriş yapmadan giriş yaptıktan sonra sayfayı tarayabilir misiniz? – Norris
evet, çerez tarayıcıya kaydedilir. Ve başka bir girişe ihtiyacınız yok (sadece tarayıcıyı veya çerezleri kapatırsanız) – TreantBG
Tamam, sanırım sahip olduğum sorunun ne olduğunu biliyorum! - Denediğim şey, PHP'nin kendisini CURL yapmaktır. Hala bunun için bir düzeltme bilmiyorum ... – Norris