(PHP 4 >= 4.0.2, PHP 5)
curl_setopt - ตั้งค่าตัวเลือกการขนส่ง cURL
bool curl_setopt ( ทรัพยากร $ch , int $option , ผสม $value )
ตั้งค่าตัวเลือกสำหรับการจัดการเซสชัน cURL ที่กำหนด
ช
หมายเลขอ้างอิง cURL ที่ส่งคืนโดย curl_init()
ตัวเลือก
ต้องตั้งค่าตัวเลือก CURLOPT_XXX
ค่า
ค่าที่จะกำหนดในตัวเลือก
สำหรับพารามิเตอร์ทางเลือกของอ็อพชันต่อไปนี้ ควรตั้งค่าเป็นค่าประเภทบูล:
ตัวเลือก | ค่า ที่ไม่บังคับ | หมายเหตุ |
---|---|---|
CURLOPT_AUTOREFERER | เมื่อเปลี่ยนเส้นทางตาม ตำแหน่ง: ข้อมูล ผู้อ้างอิง: ในส่วนหัวจะถูกตั้งค่าโดยอัตโนมัติ | |
CURLOPT_BINARYโอน | ส่งกลับเอาต์พุตดิบเมื่อเปิดใช้งาน CURLOPT_RETURNTRANSFER | |
CURLOPT_COOKIESESSION | เมื่อเปิดใช้งาน curl จะส่งผ่านคุกกี้เซสชันเดียวเท่านั้น และละเว้นคุกกี้อื่น ๆ ตามค่าเริ่มต้น curl จะส่งคุกกี้ทั้งหมดกลับไปยังเซิร์ฟเวอร์ คุกกี้เซสชันหมายถึงคุกกี้ที่ใช้ในการพิจารณาว่าเซสชันฝั่งเซิร์ฟเวอร์นั้นถูกต้องหรือไม่ | |
CURLOPT_CRLF | เมื่อเปิดใช้งาน จะแปลงบรรทัดใหม่ของ Unix เป็นการขึ้นบรรทัดใหม่และการป้อนบรรทัด | |
CURLOPT_DNS_USE_GLOBAL_CACHE | เมื่อเปิดใช้งาน แคช DNS ส่วนกลางจะถูกเปิดใช้งาน ซึ่งปลอดภัยสำหรับเธรดและเปิดใช้งานตามค่าเริ่มต้น | |
CURLOPT_FAILONERROR | แสดงรหัสสถานะ HTTP ลักษณะการทำงานเริ่มต้นคือการละเว้นข้อความ HTTP ที่มีตัวเลขน้อยกว่าหรือเท่ากับ 400 | |
CURLOPT_FILETIME | เมื่อเปิดใช้งาน จะพยายามแก้ไขข้อมูลในเอกสารระยะไกล ข้อมูลผลลัพธ์จะถูกส่งกลับผ่านตัวเลือก CURLINFO_FILETIME ของฟังก์ชัน curl_getinfo() curl_getinfo() | |
CURLOPT_FOLLOWLOCATION | เมื่อเปิดใช้งาน "ตำแหน่ง:" ที่เซิร์ฟเวอร์ส่งคืนจะถูกวางไว้ในส่วนหัวและส่งคืนไปยังเซิร์ฟเวอร์แบบวนซ้ำ ใช้ CURLOPT_MAXREDIRS เพื่อจำกัดจำนวนการส่งคืนแบบเรียกซ้ำ | |
CURLOPT_FORBID_REUSE | การเชื่อมต่อถูกบังคับให้ยกเลิกการเชื่อมต่อหลังจากการโต้ตอบเสร็จสิ้น และไม่สามารถนำมาใช้ซ้ำได้ | |
CURLOPT_FRESH_CONNECT | บังคับให้รับการเชื่อมต่อใหม่ โดยแทนที่การเชื่อมต่อในแคช | |
CURLOPT_FTP_USE_EPRT | เมื่อเปิดใช้งาน ให้ใช้คำสั่ง EPRT (หรือ LPRT) เมื่อดาวน์โหลด FTP เมื่อตั้งค่าเป็น FALSE จะปิดใช้งาน EPRT และ LPRT ให้ใช้คำสั่ง PORT เท่านั้น | |
CURLOPT_FTP_USE_EPSV | เมื่อเปิดใช้งาน ระบบจะพยายามใช้คำสั่ง EPSV เป็นครั้งแรกก่อนที่จะเปลี่ยนกลับเป็นโหมด PASV ในระหว่างการถ่ายโอน FTP ปิดใช้งานคำสั่ง EPSV เมื่อตั้งค่าเป็น FALSE | |
CURLOPT_FTPAPPEND | เมื่อเปิดใช้งาน ให้ผนวกการเขียนลงในไฟล์แทนการเขียนทับ | |
CURLOPT_FTPASCII | นามแฝงสำหรับ CURLOPT_TRANSFERTEXT | |
CURLOPT_FTPLISTONLY | เมื่อเปิดใช้งาน จะแสดงเฉพาะชื่อของไดเร็กทอรี FTP เท่านั้น | |
CURLOPT_HEADER | เมื่อเปิดใช้งาน ข้อมูลไฟล์ส่วนหัวจะถูกส่งออกเป็นสตรีมข้อมูล | |
CURLINFO_HEADER_OUT | ร้องขอสตริงสำหรับตัวจัดการการติดตามเมื่อเปิดใช้งาน | ใช้งานได้ตั้งแต่ PHP 5.1.3 คำนำหน้า CURLINFO_ เป็นคำนำหน้าโดยตั้งใจ |
CURLOPT_HTTPGET | เมื่อเปิดใช้งาน วิธี HTTP จะถูกตั้งค่าเป็น GET เนื่องจาก GET เป็นค่าเริ่มต้น จึงจะใช้เฉพาะเมื่อมีการแก้ไขเท่านั้น | |
CURLOPT_HTTPPROXYTUNNEL | เมื่อเปิดใช้งาน การส่งผ่านพร็อกซี HTTP | |
CURLOPT_MUTE | เมื่อเปิดใช้งาน พารามิเตอร์ที่แก้ไขทั้งหมดในฟังก์ชัน cURL จะถูกคืนค่าเป็นค่าเริ่มต้น | |
CURLOPT_NETRC | หลังจากสร้างการเชื่อมต่อแล้ว ให้เข้าถึงไฟล์ ~/.netrc เพื่อรับข้อมูลชื่อผู้ใช้และรหัสผ่านเพื่อเชื่อมต่อกับไซต์ระยะไกล | |
CURLOPT_ไม่มีใคร | เมื่อเปิดใช้งาน ส่วน BODY ของ HTML จะไม่ถูกส่งออก | |
CURLOPT_NOPROGRESS | ปิดแถบความคืบหน้าของการถ่ายโอนขดเมื่อเปิดใช้งาน การตั้งค่าเริ่มต้นของรายการนี้ถูกเปิดใช้งาน
| |
CURLOPT_NOSIGNAL | เมื่อเปิดใช้งาน จะละเว้นสัญญาณทั้งหมดที่ส่งผ่านโดย curl ไปยัง php รายการนี้เปิดใช้งานตามค่าเริ่มต้นระหว่างการส่งข้อมูลแบบมัลติเธรดของ SAPI | เพิ่มใน cURL 7.10 |
CURLOPT_POST | เมื่อเปิดใช้งาน คำขอ POST ปกติประเภท: application/x-www-form-urlencoded จะถูกส่งไป เช่นเดียวกับการส่งแบบฟอร์ม | |
CURLOPT_PUT | เมื่อเปิดใช้งานเพื่ออนุญาตให้ HTTP ส่งไฟล์ ต้องตั้งค่าทั้ง CURLOPT_INFILE และ CURLOPT_INFILESIZE | |
CURLOPT_RETURNโอน | ส่งคืนข้อมูลที่ได้รับจาก curl_exec() ในรูปแบบของสตรีมไฟล์แทนที่จะส่งออกโดยตรง | |
CURLOPT_SSL_VERIFYPEER | เมื่อปิดใช้งาน cURL จะยุติการตรวจสอบความถูกต้องจากเซิร์ฟเวอร์ ตั้งค่าใบรับรองโดยใช้ตัวเลือก CURLOPT_CAINFO ตั้งค่าไดเร็กทอรีใบรับรองโดยใช้ตัวเลือก CURLOPT_CAPATH หากเปิดใช้งาน CURLOPT_SSL_VERIFYPEER (ค่าเริ่มต้น 2) จะต้องตั้งค่า CURLOPT_SSL_VERIFYHOST เป็น TRUE หรือตั้งค่าเป็น FALSE | ค่าเริ่มต้นเป็น TRUE ตั้งแต่ cURL 7.10 ตั้งแต่ cURL 7.10 เป็นต้นไป การติดตั้งบันเดิลจะเป็นค่าเริ่มต้น |
CURLOPT_TRANSFERTEXT | เมื่อเปิดใช้งาน ให้ใช้โหมด ASCII สำหรับการถ่ายโอน FTP สำหรับ LDAP จะดึงข้อมูลข้อความธรรมดาแทน HTML บนระบบ Windows ระบบไม่ได้ตั้งค่า STDOUT เป็นโหมดไบนารี | |
CURLOPT_UNRESTRICTED_AUTH | ผนวกข้อมูลชื่อผู้ใช้และรหัสผ่านอย่างต่อเนื่องไปยังหลาย ๆ ตำแหน่งในส่วนหัวที่สร้างโดยใช้ CURLOPT_FOLLOWLOCATION แม้ว่าชื่อโดเมนจะเปลี่ยนไปก็ตาม | |
CURLOPT_UPLOAD | อนุญาตให้อัปโหลดไฟล์เมื่อเปิดใช้งาน | |
CURLOPT_VERBOSE | เมื่อเปิดใช้งาน ข้อมูลทั้งหมดจะถูกรายงานและจัดเก็บไว้ใน STDERR หรือ CURLOPT_STDERR ที่ระบุ |
สำหรับพารามิเตอร์ทางเลือกของตัวเลือกต่อไปนี้ ควรตั้งค่าเป็นค่าประเภทจำนวนเต็ม:
ตัวเลือก | ค่า ที่ไม่บังคับ | หมายเหตุ |
---|---|---|
CURLOPT_BUFFERSIZE | ขนาดของแคชจะถูกอ่านลงในข้อมูลที่ได้รับในแต่ละครั้ง แต่ไม่มีการรับประกันว่าค่านี้จะถูกเติมทุกครั้ง | เพิ่มใน cURL 7.10 |
CURLOPT_CLOSEPOLICY | ไม่ว่าจะเป็น CURLCLOSEPOLICY_LEAST_RECENTLY_USED หรือ CURLCLOSEPOLICY_OLDEST ยังมี CURLCLOSEPOLICY อื่นๆ อีกสามรายการ แต่ cURL ยังไม่รองรับ | |
CURLOPT_CONNECTหมดเวลา | เวลาที่ต้องรอก่อนเริ่มการเชื่อมต่อ หากตั้งค่าเป็น 0 ก็จะรออย่างไม่มีกำหนด | |
CURLOPT_CONNECTTIMEOUT_MS | เวลาที่รอความพยายามในการเชื่อมต่อ หน่วยเป็นมิลลิวินาที หากตั้งค่าเป็น 0 ให้รออย่างไม่มีที่สิ้นสุด | เพิ่มใน cURL 7.16.2 ใช้งานได้ตั้งแต่ PHP 5.2.3 |
CURLOPT_DNS_CACHE_TIMEOUT | ตั้งเวลาบันทึกข้อมูล DNS ในหน่วยความจำ ค่าเริ่มต้นคือ 120 วินาที | |
CURLOPT_FTPSSLAUTH | วิธีการตรวจสอบสิทธิ์ FTP: CURLFTPAUTH_SSL (ลองใช้ SSL ก่อน), CURLFTPAUTH_TLS (ลองใช้ TLS ก่อน) หรือ CURLFTPAUTH_DEFAULT (ให้ cURL ตัดสินใจโดยอัตโนมัติ) | เพิ่มใน cURL 7.12.2 |
CURLOPT_HTTP_VERSION | CURL_HTTP_VERSION_NONE (ค่าเริ่มต้น ให้ curl ตัดสินใจว่าจะใช้เวอร์ชันใด), CURL_HTTP_VERSION_1_0 (บังคับใช้ HTTP/1.0) หรือ CURL_HTTP_VERSION_1_1 (บังคับใช้ HTTP/1.1) | |
CURLOPT_INFILESIZE | กำหนดขีดจำกัดขนาดของไฟล์ที่อัปโหลดในหน่วยไบต์ | |
CURLOPT_LOW_SPEED_LIMIT | เมื่อความเร็วในการส่งข้อมูลน้อยกว่า CURLOPT_LOW_SPEED_LIMIT (ไบต์/วินาที) PHP จะใช้ CURLOPT_LOW_SPEED_TIME เพื่อพิจารณาว่าจะยกเลิกการส่งข้อมูลหรือไม่เนื่องจากช้าเกินไป | |
CURLOPT_LOW_SPEED_TIME | เมื่อความเร็วในการส่งข้อมูลน้อยกว่า CURLOPT_LOW_SPEED_LIMIT (ไบต์/วินาที) PHP จะใช้ CURLOPT_LOW_SPEED_TIME เพื่อพิจารณาว่าจะยกเลิกการส่งข้อมูลหรือไม่เนื่องจากช้าเกินไป | |
CURLOPT_MAXCONNECTS | จำนวนการเชื่อมต่อสูงสุดที่อนุญาต หากเกิน CURLOPT_CLOSEPOLICY จะถูกใช้เพื่อกำหนดการเชื่อมต่อที่ควรหยุด | |
CURLOPT_MAXREDIRS | ระบุจำนวนสูงสุดของการเปลี่ยนเส้นทาง HTTP ตัวเลือกนี้ใช้กับ CURLOPT_FOLLOWLOCATION | |
CURLOPT_PORT | ใช้เพื่อระบุพอร์ตการเชื่อมต่อ (ไม่จำเป็น) | |
CURLOPT_PROTOCOLS | Bitfield อ้างถึง CURLPROTO_* หากเปิดใช้งาน ค่าบิตฟิลด์จะจำกัดว่าโปรโตคอลใดที่ libcurl สามารถใช้ระหว่างการถ่ายโอน สิ่งนี้จะช่วยให้คุณสามารถคอมไพล์ libcurl เพื่อรองรับโปรโตคอลจำนวนมาก แต่จะใช้เฉพาะชุดย่อยที่ได้รับอนุญาตให้ใช้เท่านั้น ตามค่าเริ่มต้น libcurl จะใช้โปรโตคอลทั้งหมดที่รองรับ ดูที่ CURLOPT_REDIR_PROTOCOLS ตัวเลือกโปรโตคอลที่ใช้ได้คือ: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | เพิ่มใน cURL 7.19.4 |
CURLOPT_PROTOCOLS | Bitfield อ้างถึง CURLPROTO_* หากเปิดใช้งาน ค่าบิตฟิลด์จะจำกัดว่าโปรโตคอลใดที่ libcurl สามารถใช้ระหว่างการถ่ายโอน สิ่งนี้จะช่วยให้คุณสามารถคอมไพล์ libcurl เพื่อรองรับโปรโตคอลจำนวนมาก แต่จะใช้เฉพาะชุดย่อยที่ได้รับอนุญาตให้ใช้เท่านั้น ตามค่าเริ่มต้น libcurl จะใช้โปรโตคอลทั้งหมดที่รองรับ ดูที่ CURLOPT_REDIR_PROTOCOLS ตัวเลือกโปรโตคอลที่ใช้ได้คือ: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, CURLPROTO_TFTP, CURLPROTO_ALL | เพิ่มใน cURL 7.19.4 |
CURLOPT_PROXYAUTH | วิธีการตรวจสอบสำหรับการเชื่อมต่อพร็อกซี HTTP ใช้ค่าสถานะบิตฟิลด์ใน CURLOPT_HTTPAUTH เพื่อตั้งค่าตัวเลือกที่เกี่ยวข้อง สำหรับการตรวจสอบสิทธิ์พร็อกซี ขณะนี้รองรับเฉพาะ CURLAUTH_BASIC และ CURLAUTH_NTLM เท่านั้น | เพิ่มใน cURL 7.10.7 |
CURLOPT_PROXYPORT | พอร์ตของพร็อกซีเซิร์ฟเวอร์ พอร์ตยังสามารถตั้งค่าใน CURLOPT_PROXY | |
CURLOPT_PROXYTYPE | CURLPROXY_HTTP (ค่าเริ่มต้น) หรือ CURLPROXY_SOCKS5 | เพิ่มใน cURL 7.10 |
CURLOPT_REDIR_PROTOCOLS | ค่าบิตฟิลด์ใน CURLPROTO_* หากเปิดใช้งาน ค่าบิตฟิลด์จะจำกัดโปรโตคอลที่เธรดการขนส่งสามารถใช้ได้เมื่อติดตามการเปลี่ยนเส้นทางเมื่อเปิดใช้งาน CURLOPT_FOLLOWLOCATION สิ่งนี้จะช่วยให้คุณสามารถจำกัดเธรดการขนส่งให้อยู่ในชุดย่อยของโปรโตคอลที่อนุญาตเมื่อเปลี่ยนเส้นทาง ตามค่าเริ่มต้น libcurl จะอนุญาตโปรโตคอลทั้งหมดยกเว้น FILE และ SCP สิ่งนี้แตกต่างเล็กน้อยจากเวอร์ชันก่อนเผยแพร่ 7.19.4 ซึ่งเป็นไปตามโปรโตคอลที่รองรับทั้งหมดโดยไม่มีเงื่อนไข สำหรับค่าคงที่ของโปรโตคอล โปรดดูที่ CURLOPT_PROTOCOLS | เพิ่มใน cURL 7.19.4 |
CURLOPT_RESUME_FROM | ส่งผ่านค่าชดเชยไบต์เมื่อดำเนินการถ่ายโอนต่อ (ใช้สำหรับการถ่ายโอนต่อ) | |
CURLOPT_SSL_VERIFYHOST | 1 ตรวจสอบว่ามีชื่อทั่วไปในใบรับรอง SSL ของเซิร์ฟเวอร์หรือไม่ หมายเหตุผู้แปล: ชื่อสามัญ (ชื่อสามัญ) โดยทั่วไปหมายถึงการกรอกชื่อโดเมน (โดเมน) หรือโดเมนย่อย (โดเมนย่อย) ที่คุณจะสมัครขอใบรับรอง SSL 2 ตรวจสอบว่ามีชื่อสามัญอยู่และตรงกับชื่อโฮสต์ที่ให้ไว้ | |
CURLOPT_SSLVERSION | เวอร์ชัน SSL ที่จะใช้ (2 หรือ 3) ตามค่าเริ่มต้น PHP จะตรวจจับค่านี้ด้วยตัวเอง แม้ว่าในบางกรณีอาจจำเป็นต้องตั้งค่าด้วยตนเองก็ตาม | |
CURLOPT_TIMECONDITION | หากได้รับการแก้ไขหลังจากเวลาที่กำหนดโดย CURLOPT_TIMEVALUE ให้ใช้ CURL_TIMECOND_IFMODSINCE เพื่อส่งคืนเพจ หากไม่ได้รับการแก้ไขและ CURLOPT_HEADER เป็นจริง ส่วนหัว "304 Not Modified" จะถูกส่งกลับ หาก CURLOPT_HEADER เป็นเท็จ ให้ใช้ CURL_TIMECOND_IFUNMODSINCE ค่าเริ่มต้นคือ CURL_TIMECOND_IFUNMODSINCE | |
CURLOPT_TIMEOUT | กำหนดจำนวนวินาทีสูงสุดที่อนุญาตให้ cURL ดำเนินการได้ | |
CURLOPT_TIMEOUT_MS | ตั้งค่าจำนวนมิลลิวินาทีสูงสุดที่ cURL ได้รับอนุญาตให้ดำเนินการ | เพิ่มใน cURL 7.16.2 มีให้ตั้งแต่ PHP 5.2.3 เป็นต้นไป |
CURLOPT_TIMEVALUE | ตั้งค่าการประทับเวลาที่ใช้โดย CURLOPT_TIMECONDITION โดยค่าเริ่มต้น จะใช้ CURL_TIMECOND_IFMODSINCE |
สำหรับพารามิเตอร์ทางเลือกของตัวเลือกต่อไปนี้ ควรตั้งค่าเป็นค่าประเภทสตริง:
ตัวเลือก | ค่า ที่ไม่บังคับ | หมายเหตุ |
---|---|---|
CURLOPT_CAINFO | ชื่อของไฟล์ที่เก็บใบรับรองตั้งแต่หนึ่งใบขึ้นไปสำหรับการตรวจสอบโดยเซิร์ฟเวอร์ พารามิเตอร์นี้มีความหมายเฉพาะเมื่อใช้กับ CURLOPT_SSL_VERIFYPEER - | |
CURLOPT_CAPATH | ไดเร็กทอรีที่เก็บใบรับรอง CA หลายใบ ตัวเลือกนี้ใช้กับ CURLOPT_SSL_VERIFYPEER | |
CURLOPT_COOKIE | ตั้งค่าเนื้อหาของส่วน "คุกกี้:" ของคำขอ HTTP คุกกี้หลายรายการคั่นด้วยเครื่องหมายอัฒภาคตามด้วยช่องว่าง (เช่น " ผลไม้=แอปเปิ้ล; สี=สีแดง ") | |
CURLOPT_COOKIEFILE | ชื่อของไฟล์ที่มีข้อมูลคุกกี้ รูปแบบของไฟล์คุกกี้อาจเป็นรูปแบบ Netscape หรือเพียงข้อมูลส่วนหัว HTTP ล้วนๆ ก็สามารถเก็บไว้ในไฟล์ได้ | |
CURLOPT_COKIEJAR | ไฟล์ที่บันทึกข้อมูลคุกกี้หลังจากการเชื่อมต่อเสร็จสิ้น | |
CURLOPT_CUSTOMREQUEST | ใช้ข้อความคำขอที่กำหนดเองแทน "GET" หรือ "HEAD" สำหรับคำขอ HTTP สิ่งนี้มีประโยชน์สำหรับการดำเนินการ "ลบ" หรือคำขอ HTTP อื่น ๆ ที่ซ่อนอยู่ ค่าที่ถูกต้องคือ "GET" , "POST" , "CONNECT" ฯลฯ นั่นคืออย่าป้อนคำขอ HTTP ทั้งหมดที่นี่ ตัวอย่างเช่น การป้อน "GET /index.html HTTP/1.0rnrn" ไม่ถูกต้อง
| |
CURLOPT_EGDSOCKET | คล้ายกับ CURLOPT_RANDOM_FILE ยกเว้นซ็อกเก็ต Entropy Gathering Daemon | |
CURLOPT_ENCODING | ค่าของ "Accept-Encoding: " ในส่วนหัวคำขอ HTTP การเข้ารหัสที่รองรับ ได้แก่ "identity" , "deflate" และ "gzip" หากเป็นสตริงว่าง "" ประเภทการเข้ารหัสที่รองรับทั้งหมดจะถูกส่งไปในส่วนหัวของคำขอ | เพิ่มใน cURL 7.10 |
CURLOPT_FTPPORT | ค่านี้จะถูกใช้เพื่อรับที่อยู่ IP ที่จำเป็นสำหรับคำสั่ง FTP "POST" คำสั่ง "POST" บอกให้เซิร์ฟเวอร์ระยะไกลเชื่อมต่อกับที่อยู่ IP ที่เราระบุ สตริงนี้อาจเป็นที่อยู่ IP แบบข้อความธรรมดา ชื่อโฮสต์ ชื่ออินเทอร์เฟซเครือข่าย (ภายใต้ UNIX) หรือเพียง '-' เพื่อใช้ที่อยู่ IP เริ่มต้น | |
CURLOPT_INTERFACE | ชื่ออินเทอร์เฟซการส่งเครือข่ายอาจเป็นชื่ออินเทอร์เฟซ ที่อยู่ IP หรือชื่อโฮสต์ | |
CURLOPT_KRB4LEVEL | ระดับความปลอดภัย KRB4 (Kerberos 4) ค่าใดๆ ต่อไปนี้ถูกต้อง (เรียงจากต่ำสุดไปสูงสุด): "clear" , "safe" , "confidential" , "private" หากสตริงไม่ตรงกับข้อใดเลย ระบบจะใช้ "ส่วนตัว" การตั้งค่าตัวเลือกนี้เป็น NULL จะปิดใช้งานการตรวจสอบความปลอดภัย KRB4 ปัจจุบันการรับรองความปลอดภัย KRB4 ใช้ได้กับการถ่ายโอน FTP เท่านั้น | |
CURLOPT_POSTFIELDS | ข้อมูลทั้งหมดจะถูกส่งโดยใช้การดำเนินการ "POST" ในโปรโตคอล HTTP หากต้องการส่งไฟล์ ให้นำหน้าชื่อไฟล์ด้วย @ และใช้เส้นทางแบบเต็ม พารามิเตอร์นี้สามารถส่งผ่านเป็นสตริง urlencoded เช่น ' para1=val1¶2=val2&... ' หรือใช้อาร์เรย์ที่มีชื่อฟิลด์เป็นคีย์ และข้อมูลฟิลด์เป็นค่า หาก ค่า เป็นอาร์เรย์ ส่วนหัว Content-Type จะถูกตั้งค่าเป็น multipart/form-data | |
CURLOPT_PROXY | ช่องพร็อกซี HTTP | |
CURLOPT_PROXYUSRPWD | สตริงในรูปแบบ "[ชื่อผู้ใช้]:[รหัสผ่าน]" ใช้เพื่อเชื่อมต่อกับพร็อกซี | |
CURLOPT_RANDOM_FILE | ชื่อของไฟล์ที่ใช้ในการสร้างข้อมูลตัวเลขสุ่ม SSL | |
CURLOPT_RANGE | ในรูปแบบของ "XY" โดยที่ X และ Y เป็นตัวเลือกทางเลือกในการรับช่วงข้อมูลในหน่วยไบต์ เธรดการขนส่ง HTTP ยังสนับสนุนรายการที่ซ้ำกันหลายรายการที่คั่นด้วยเครื่องหมายจุลภาค เช่น "XY,NM" | |
CURLOPT_ผู้อ้างอิง | เนื้อหาของ "ผู้อ้างอิง: " ในส่วนหัวคำขอ HTTP | |
CURLOPT_SSL_CIPHER_LIST | รายการอัลกอริธึมการเข้ารหัส SSL ตัวอย่างเช่น RC4-SHA และ TLSv1 เป็นรายการเข้ารหัสที่พร้อมใช้งานทั้งคู่ | |
CURLOPT_SSLCERT | ชื่อของไฟล์ที่มีใบรับรองในรูปแบบ PEM | |
CURLOPT_SSLCERTPASSWD | รหัสผ่านที่จำเป็นสำหรับการใช้ใบรับรอง CURLOPT_SSLCERT | |
CURLOPT_SSLCERTTYPE | ประเภทของใบรับรอง รูปแบบที่รองรับคือ "PEM" (ค่าเริ่มต้น), "DER" และ "ENG" | เพิ่มใน cURL 7.9.3 |
CURLOPT_SSLENGINE | ตัวแปร Crypto Engine ที่ใช้สำหรับคีย์ส่วนตัว SSL ที่ระบุใน CURLOPT_SSLKEY | |
CURLOPT_SSLENGINE_DEFAULT | ตัวแปรที่ใช้สำหรับการดำเนินการเข้ารหัสแบบไม่สมมาตร | |
CURLOPT_SSLKEY | ชื่อของไฟล์ที่มีคีย์ส่วนตัว SSL | |
CURLOPT_SSLKEYPASSWD | รหัสผ่านสำหรับคีย์ส่วนตัว SSL ที่ระบุใน CURLOPT_SSLKEY
| |
CURLOPT_SSLKEYTYPE | ประเภทการเข้ารหัสของคีย์ส่วนตัวที่ระบุใน CURLOPT_SSLKEY ประเภทคีย์ที่รองรับคือ "PEM" (ค่าเริ่มต้น), "DER" และ "ENG" | |
CURLOPT_URL | ที่อยู่ URL ที่ต้องได้รับสามารถตั้งค่าได้ในฟังก์ชัน curl_init() | |
CURLOPT_USERAGENT | รวมสตริงส่วนหัว "User-Agent:" ในคำขอ HTTP | |
CURLOPT_USERPWD | ส่งชื่อผู้ใช้และรหัสผ่านที่จำเป็นสำหรับการเชื่อมต่อในรูปแบบ: "[ชื่อผู้ใช้]:[รหัสผ่าน]" |
สำหรับพารามิเตอร์ทางเลือกของตัวเลือกต่อไปนี้ ควรตั้งค่าเป็นอาร์เรย์:
ตัวเลือก | ค่า เผื่อเลือก | หมายเหตุ |
---|---|---|
CURLOPT_HTTP200นามแฝง | 200 อาร์เรย์รหัสการตอบสนอง การตอบสนองในอาร์เรย์ถือเป็นการตอบสนองที่ถูกต้อง มิฉะนั้นจะถือว่าเป็นข้อผิดพลาด | เพิ่มใน cURL 7.10.3 |
CURLOPT_HTTPHEADER | อาร์เรย์ที่ใช้ในการตั้งค่าฟิลด์ส่วนหัว HTTP ใช้อาร์เรย์ในรูปแบบต่อไปนี้เพื่อตั้งค่า: array('Content-type: text/plain', 'Content-length: 100') | |
CURLOPT_POSTQUOTE | ชุดคำสั่ง FTP ที่ดำเนินการบนเซิร์ฟเวอร์หลังจากดำเนินการคำขอ FTP | |
CURLOPT_QUOTE | ชุดคำสั่ง FTP ที่จะดำเนินการบนเซิร์ฟเวอร์ก่อนการร้องขอ FTP |
สำหรับพารามิเตอร์ทางเลือกของตัวเลือกต่อไปนี้ ควรตั้งค่าเป็นทรัพยากรสตรีม (เช่น การใช้ fopen()):
ตัวเลือก | ค่า ที่ไม่บังคับ |
---|---|
CURLOPT_FILE | ตั้งค่าตำแหน่งของไฟล์เอาต์พุต ค่าเป็นประเภททรัพยากร ค่าเริ่มต้นคือ STDOUT (เบราว์เซอร์) |
CURLOPT_INFILE | ที่อยู่ไฟล์ที่ต้องอ่านเมื่ออัปโหลดไฟล์ ค่าคือประเภททรัพยากร |
CURLOPT_STDERR | ตั้งค่าที่อยู่เอาต์พุตของข้อผิดพลาด ค่านี้เป็นประเภททรัพยากร โดยแทนที่ค่าเริ่มต้น STDERR |
CURLOPT_WRITEHEADER | ตั้งค่าที่อยู่ไฟล์ที่มีการเขียนเนื้อหาส่วนหัว และค่าเป็นประเภททรัพยากร |
สำหรับพารามิเตอร์ทางเลือกของตัวเลือกต่อไปนี้ ควรตั้งค่าเป็นชื่อฟังก์ชันเรียกกลับ:
ตัวเลือก | ค่า ที่ไม่บังคับ |
---|---|
CURLOPT_HEADERFUNCTION | ตั้งค่าฟังก์ชันการโทรกลับ ฟังก์ชันนี้มีสองพารามิเตอร์ ตัวแรกคือตัวจัดการทรัพยากร cURL และตัวที่สองคือข้อมูลส่วนหัวของเอาต์พุต ผลลัพธ์ของข้อมูลส่วนหัวต้องอาศัยฟังก์ชันนี้ ซึ่งจะส่งคืนขนาดของข้อมูลที่เขียน |
CURLOPT_PASSWDFUNCTION | ตั้งค่าฟังก์ชันการโทรกลับด้วยพารามิเตอร์สามตัว ตัวแรกคือตัวจัดการทรัพยากร cURL ตัวที่สองคือพรอมต์รหัสผ่าน และพารามิเตอร์ตัวที่สามคือความยาวรหัสผ่านสูงสุดที่อนุญาต ส่งกลับค่าของรหัสผ่าน |
CURLOPT_PROGRESSFUNCTION | ตั้งค่าฟังก์ชันการเรียกกลับด้วยพารามิเตอร์สามตัว ตัวแรกคือตัวจัดการทรัพยากร cURL ตัวที่สองคือทรัพยากรตัวอธิบายไฟล์ และตัวที่สามคือความยาว ส่งคืนข้อมูลที่มีอยู่ |
CURLOPT_READFUNCTION | ชื่อฟังก์ชันโทรกลับ ฟังก์ชันนี้ควรยอมรับพารามิเตอร์สามตัว ประการแรกคือทรัพยากร cURL ประการที่สองคือทรัพยากรสตรีมที่ส่งผ่านไปยัง cURL ผ่านตัวเลือก CURLOPT_INFILE พารามิเตอร์ที่สามคือจำนวนข้อมูลสูงสุดที่สามารถอ่านได้ ฟังก์ชันโทรกลับจะต้องส่งคืนสตริงที่มีความยาวน้อยกว่าหรือเท่ากับจำนวนข้อมูลที่ร้องขอ (พารามิเตอร์ที่สาม) โดยทั่วไปจะอ่านจากทรัพยากรสตรีมที่เข้ามา ส่งกลับสตริงว่างเป็นสัญญาณ EOF (สิ้นสุดไฟล์) |
CURLOPT_WRITEFUNCTION | ชื่อฟังก์ชันโทรกลับ ฟังก์ชันนี้ควรยอมรับพารามิเตอร์สองตัว ประการแรกคือทรัพยากร cURL ประการที่สองคือสตริงข้อมูลที่จะเขียน ข้อมูลจะต้องถูกบันทึกไว้ภายในฟังก์ชัน ฟังก์ชันจะต้องส่งคืนจำนวนไบต์ที่ส่งผ่านที่แน่นอนเพื่อเขียนข้อมูล มิฉะนั้นการถ่ายโอนจะถูกขัดจังหวะด้วยข้อผิดพลาด |
ส่งคืน TRUE เมื่อสำเร็จ หรือ FALSE เมื่อล้มเหลว
เวอร์ชัน | แสดงให้เห็น |
---|---|
5.2.10 | แนะนำ CURLOPT_PROTOCOLS และ CURLOPT_REDIR_PROTOCOLS |
5.1.0 | เปิดตัว CURLOPT_AUTOREFERER , CURLOPT_BINARYTRANSFER , CURLOPT_FTPSSLAUTH , CURLOPT_PROXYAUTH และ CURLOPT_TIMECONDITION |
5.0.0 | แนะนำ CURLOPT_FTP_USE_EPRT , CURLOPT_NOSIGNAL , CURLOPT_UNRESTRICTED_AUTH , CURLOPT_BUFFERSIZE , CURLOPT_HTTPAUTH , CURLOPT_PROXYPORT , CURLOPT_PROXYTYPE , CURLOPT_SSLCERTTYPE และ CURLOPT_HTTP200ALIASES - |
เริ่มต้นเซสชัน cURL ใหม่และรับหน้าเว็บ
<?php// สร้างทรัพยากร cURL ใหม่ $ch = curl_init();// ตั้งค่า URL และตัวเลือกที่เกี่ยวข้อง curl_setopt($ch, CURLOPT_URL, "http://www.example.com/"); , CURLOPT_HEADER, เท็จ);// คว้า URL แล้วส่งต่อไปยังเบราว์เซอร์ curl_exec($ch);//ปิดทรัพยากร cURL และปล่อยทรัพยากรระบบ curl_close($ch);?>
ตัวอย่างไฟล์อัพโหลด:
<?php/* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/$ch = curl_init();$data = array('name' => 'Foo', 'file' => '@/home/user/test.png');curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php');curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $data);curl_exec($ch);?>
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นมีดังนี้:
Array( [ชื่อ] => Foo)Array( [ไฟล์] => Array ( [ชื่อ] => test.png [type] => image/png [tmp_name] => /tmp/phpcpjNeQ [error] => 0 [ ขนาด] => 279 ))
เมื่อส่งอาร์เรย์ไปยัง CURLOPT_POSTFIELDS, cURL จะเข้ารหัสข้อมูลเป็น multipart/form-data ในขณะที่เมื่อส่งสตริงที่เข้ารหัส URL ข้อมูลจะถูกเข้ารหัสลงใน application/x-www-form-urlencoded