ฉันต้องส่ง file_get_contents()
ไปยังจุดสิ้นสุด API ด้วยคุกกี้ของลูกค้าที่ตั้งค่าโดย Wordpress เพื่อแสดงว่าผู้ใช้ลงชื่อเข้าใช้ไซต์ WordPress ฉันรู้ว่าฉันต้องใช้ stream_context_create()
ประมาณนี้:
$cookies = ??? //THIS IS THE QUESTION (see answer below)!
// Create a stream
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: {$cookies}\r\n"
)
);
$context = stream_context_create($opts);
// Open the file using the HTTP headers set above
$file = file_get_contents('http://example.dev/api/autho/', false, $context);
อย่างที่คุณเห็นจากความคิดเห็นในบรรทัดแรก ฉันติดอยู่กับวิธีส่งคำขอนี้เพื่อที่จะส่งคุกกี้ที่ถูกต้อง ฉันรู้ว่ามีการส่งคุกกี้ที่ถูกต้องเพราะฉันสามารถพิมพ์ $_COOKIES
และดูที่นั่นได้ แต่ถ้าฉันพยายามแทรกอาร์เรย์เดียวกันนั้นลงในส่วนหัว มันจะไม่ทำงาน
ขอบคุณล่วงหน้า!
PS: ฉันได้อ่านเจอว่าฉันควรใช้ cURL
สำหรับสิ่งนี้ แต่ฉันไม่แน่ใจว่าทำไม และฉันไม่รู้ว่าจะใช้มันอย่างไร... แต่ฉันเปิดรับแนวคิดนี้
อัปเดต: ฉันได้สิ่งนี้มาใช้งานได้ โดยพื้นฐานแล้วมันเป็นสิ่งเดียวกับที่ฉันทำ โดยมีคุกกี้ที่สำคัญอีกชิ้นหนึ่ง ดูคำตอบของฉันด้านล่าง
php curl cookies
› coderscult .com/php/php-curl/2008/05/20/php-curl-cookies-example และเอกสาร PHP ฉบับเต็มสำหรับcurl_setopt
โดยเฉพาะCURLOPT_COOKIE
- person Vyktor   schedule 31.07.2012file_get_contents()
@Pekk: มีวิธีฝั่งไคลเอ็นต์ในการทำซึ่งใช้งานได้ดี แต่ฉันไม่มี ตัวเลือกนั้น มีปัญหาด้านความปลอดภัย - person emersonthis   schedule 01.08.2012