Anasayfa Çözümler PHP: curl İle Form Post Etmek ve curl’de Cookie Kullanımı
formats

PHP: curl İle Form Post Etmek ve curl’de Cookie Kullanımı

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://urlpostadresi");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'somedirectory/cookies.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'somedirectory/cookies.txt'); 
// cookies.txt: cookie'lerin kaydedileceği dosya
curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
    'username' => 'kullaniciadi',
    'password' => 'sifre',
    'parametre' => 'deger',
    'submit' => 'Send'
)); // Gonderilecek form elemanlarının girişi
$result = curl_exec($ch);
curl_close($ch);

Php curl form post with cookieYukarıdaki kod yardımıyla istediğiniz adrese cookie kullanarak form post edebilirsiniz. Neden cookie kullanıyoruz? Çünkü bazı sitelere istek gönderildiğinde bu siteler cookie’leri kullanmak ister. Dolayısıyla cookie kullanıma ihtiyaç duyarlar. Eğer siz cookie kullanmadan formu post etmek isterseniz bilgileriniz doğru olsa da istediğiniz geri dönüşü alamayacaksınız.

Burada dikkat edilmesi gereken önemli konu ise cookie bilgisinin tutulduğu dosyanın yolunu tam olarak göstermek. PHP kodumuz ile cookie’lerin tutulacağı dosya aynı dizinde olsa bile cookie dosyasının yolunun tam olması gerekiyor. Sunucunuzda kullanacağınız dizinin tam yolunu öğrenmek isterseniz getcwd() fonksiyonunu kullanabilirsiniz.

Bu kod üniversitelerde uzaktan eğitim/ders paylaşım sistemi olarak kullanılan moodle sistemine doğru bir şekilde giriş yapılıp yapılmadığını kontrol etmek amacıyla kullanıldı. Bu kontrol yapılırken $result değişkeni içerisinde bulunan header bilgisinden faydalanıldı. Siz de buna benzer kontrollerle curl fonksiyonunu kullanabilir ve aldığınız cevaba göre kodunuzu şekillendirebilirsiniz. İyi kodlamalar. Vesselam…

Be Sociable, Share!
 
Etiketler: , , , ,

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

© 3mrullah.com 2014 - Her hakkı saklı gibidir.
Themes By Cyber Chimps