Pertanyaan PHP Cara melakukan permintaan http lewat cookie dan menyimpan hasil ke string


Saya ingin melakukan permintaan http dan meneruskan semua cookie yang diterima oleh skrip saat ini (terutama sesi yang mengidentifikasi cookie) untuk permintaan ini. Kemudian saya ingin menyimpan hasilnya dalam string untuk manipulasi lebih lanjut. Apa cara terbaik untuk melakukan ini di PHP?


5
2018-01-14 11:11


asal


Jawaban:


cURL? - Ini cookie sederhana dan supprot.

Edit 19.1 - Ini contohnya

$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ ch, CURLOPT_COOKIEJAR, '/tmp/cookies.txt');
curl_setopt ($ ch, CURLOPT_COOKIEFILE, '/tmp/cookies.txt');

$ output = curl_exec ($ ch);
$ info = curl_getinfo ($ ch);
curl_close ($ ch);

CURLOPT_COOKIEJAR adalah file tempat cURL meletakkan cookie yang dikirim dari server dan CURLOPT_COOKIEFILE adalah file dengan cookie untuk dikirim oleh cURL (menyetelnya ke yang sama akan membuatnya menjadi file cookie).

Pilihan lain adalah secara manual membaca cookie dari hasil (set CURLOPT_HEADER ke '1' - itu akan menempatkan header hasil ke $ output) dan mengirim cookie melalui CURLOPT_COOKIE (set ke daftar cookie dalam format 'foo = bar; bar = foo;')

Catatan - libcurl harus diaktifkan di php.ini


6
2018-01-17 12:01