Forum und email

curl_setopt

(PHP 4 >= 4.0.2, PHP 5)

curl_setopt — קבע אפשרויות להעברת מידע עם CURL

תיאור

bool curl_setopt ( int $ch , string $option , mixed $value )

הפונקציה curl_setopt() מאפשרת לקבוע את האפשרויות של CURL session המזוהה על ידי הפרמטר ch . option היא האופציה אותה ניתן לקבוע, וה value הוא הערך של האופציה שניתנה על ידי option .

ה value צריך להיות מסוג long עבור הפשרויות הבאות (מצוינות במשתנה option ):

  • CURLOPT_INFILESIZE : כאשר מעלים קובץ לאתר מרוחק, יש להשתמש באופציה זו על מנת להגיד ל PHP מהו הגודל המצופה מן הקובץ המועלה להיות.
  • CURLOPT_VERBOSE : קבע את הערך לערך השונה מאפס אם יש לאפשר ל CURL לדווח על כל אשר קורה.
  • CURLOPT_HEADER : קבע את הערך לערך השונה מאפס אם יש לאפשר ל header להכלל במידע הנשלח.
  • CURLOPT_NOPROGRESS : קבע את הערך לערך השונה מאפס אם אין אתם רוצים ש PHP תציג progress meter עבור CURL transfers

    Note: PHP קובעת באופן אוטומטי את הערך לערך השונה מאפס, יש לשנות ערך זה למטרות debugging בלבד.

  • CURLOPT_NOBODY : קבע את הערך לערך השונה מאפס אם יש לאפשר ל body להכלל במידע הנשלח.
  • CURLOPT_FAILONERROR : קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תכשל באופן שקט,ללא הודעות שגיאה, אם הקוד המוחזר על ידי ה HTTP גדול מ300. ברירת המחדל היא להחזיר את הדף באופן רגיל תוך כדי התעלמות מן הקוד.
  • CURLOPT_UPLOAD : קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תתכונן להעלאת קבצים.
  • CURLOPT_POST : קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תבצע HTTP POST רגיל. POST רגיל זה הוא מסוג application/x-www-form-urlencoded, הנפוץ בשימוש על ידי HTML forms.
  • CURLOPT_FTPLISTONLY : קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תציג רק את שמות ספריית ה FTP.
  • CURLOPT_FTPAPPEND : קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תוסיף את תוכן הקובץ לקובץ הקיים במקום להחליפו.
  • CURLOPT_NETRC : קבע את הערך לערך השונה מאפס אם ברצונך ש PHP תסרוק את קובץ ~./netrc כדי למצוא את שם המשתמש והסיסמה עבור האתר המרוחק אליו מתבצע ניסיון להתחברות.
  • CURLOPT_FOLLOWLOCATION : קבע את הערך לערך השונה מאפס אם ברצונך לעקוב אחר כל "Location: " header שהשרת שולח כחלק מה HTTP header (המעקב הינו רקורסיבי, ו PHP תעקוב אחר כל "Location: " headers שישלחו.).
  • CURLOPT_PUT : קבע את הערך לערך השונה מאפס כדי לבצע HTTP PUT לקובץ. הקובץ המועבר ל PUT חייב להקבע תוך כדי שימוש ב CURLOPT_INFILE ו CURLOPT_INFILESIZE.
  • CURLOPT_MUTE : קבע את הערך לערך השונה מאפס כדי ש PHP תהיה שקטה לגמרי לגבי פונקציות CURL.
  • CURLOPT_TIMEOUT : העבר ערך מסוג long כפרמטר שמכיל את הזמן המקסימלי, בשניות, שאותו תרשה לפונקציות CURL להתבצע.
  • CURLOPT_LOW_SPEED_LIMIT : העבר ערך מסוג long כפרמטר שמכיל את מהירות ההעברה בבתים לשניה שמהירות ההעברה צריכה להיות מתחת CURLOPT_LOW_SPEED_TIME שניות על מנת ש PHP תתיחס למהירות כנמוכה מדי ותבטל את ההעברה.
  • CURLOPT_LOW_SPEED_TIME : העבר ערך מסוג long כפרמטר שמכיל את הזמן בשניות שההעברה צריכה להיות מתחת ל CURLOPT_LOW_SPEED_LIMIT כדי ש PHP תתיחס לפעולה כאיטית מדי ותבטל את ההעברה.
  • CURLOPT_RESUME_FROM : העבר ערך מסוג long כפרמטר שמכיל את ה offset, בבתים, שההעברה תתחיל ממנה.
  • CURLOPT_SSLVERSION : העבר ערך מסוג long כפרמטר שמכיל את גירסת ה SSL(2 or 3) לשימוש. כברירת מחדל PHP תנסה למצוא נתון זה בעצמה, אך במקרים מסוימים יש לקבוע ערך זו ידנית.
  • CURLOPT_SSL_VERIFYHOST : העבר ערך מסוג long אם cURL אמורה לוודא את ה peer certificate הנמצא בשימוש עם SSL handshake. הערך 1 קובע שיש לבדוק את המצאותו של common name, הערך 2 קובע שיש לוודא כי היא זהה לשם המחשב המארח.
  • CURLOPT_TIMECONDITION : העבר ערך מסוג long כפרמטר הקובע כיצד יש להתיחס ל CURLOPT_TIMEVALUE. ניתן לקבוע את הערך ל TIMECOND_IFMODSINCE או ל TIMECOND_ISUNMODSINCE. זהו HTTP-only feature.
  • CURLOPT_TIMEVALUE : העבר ערך מסוג long כפרמטר שהוא הזמן בשניות מאז January 1st, 1970. היחס לזמן זה יהיה כפי שהוגדר באפשרות CURLOPT_TIMEVALUE , או על פי ברירת המחדל TIMECOND_IFMODSINCE.
  • CURLOPT_RETURNTRANSFER : העבר ערך השונה מאפס אם על cURL להחזיר את המידע ישירות במקום לבצע הדפסה של המידע.

המשתנה value צריך להיות מסוג string בשביל הערכים הבאים של המשתנה option :

  • CURLOPT_URL : זהו ה URL שברצונך ש PHP תביא. ניתן לקבוע את הערך גם בזמן אתחול session עם פונקציית curl_init() .
  • CURLOPT_USERPWD : העבר ערך מסוג מחרוזת בפורמט [username]:[password] , כדי ש PHP תשתמש בו עבור ההתחברות.
  • CURLOPT_PROXYUSERPWD : העבר ערך מסוג מחרוזת בפורמט [username]:[password] , להתחברות ל HTTP proxy.
  • CURLOPT_RANGE : העבר את התחום המבוקש. הפורמט צריך להיות "X-Y" , כאשר X או Y יכולים להיות ריקים. העברת HTTP תומכת גם במספר פרקי זמן, מופרדים בפסיק כגון : X-Y,N-M.
  • CURLOPT_POSTFIELDS : העבר ערך מסוג מחרוזת המכיל את מלוא המידע שיש לשלוח בפעולת HTTP "POST" .
  • CURLOPT_REFERER : העבר ערך מסוג מחרוזת המכיל את ה "referer" header לשימוש ב HTTP request.
  • CURLOPT_USERAGENT : העבר ערך מסוג מחרוזת המכיל את ה "user-agent" header לשימוש ב HTTP request.
  • CURLOPT_FTPPORT : העבר ערך מסוג מחרוזת המציין כיצד יש להשיג את כתובת ה IP שתשמש את ה ftp עבור "POST". ההוראה POST מציינת לשרת המרוחק להתחבר לכתובת ה IP המצוינת. הערך יכול להיות כתובת IP רגילה, שם מחשב מארח, a network interface name (under UNIX), או '-' כדי לציין את כתובת ה IP שהיא ברירת המחדל של המערכת.
  • CURLOPT_COOKIE : העבר ערך מסוג מחרוזת המכיל את תוכן ה cookie שתשלח ב HTTP header.
  • CURLOPT_SSLCERT : העבר ערך מסוג מחרוזת המכיל את שם קובץ ה PEM formatted certificate.
  • CURLOPT_SSLCERTPASSWD : העבר ערך מסוג מחרוזת המכיל את הסיסמה הנדרשת כדי להשתמש ב CURLOPT_SSLCERT certificate.
  • CURLOPT_COOKIEFILE : העבר ערך מסוג מחרוזת המכיל את שם הקובץ המכיל את תוכן ה cookie. קובץ ה cookie יכול להיות בפורמט Netscapeת או ב HTTP-style headers רגילים שנשמרו בקובץ.
  • CURLOPT_CUSTOMREQUEST : העבר ערך מסוג מחרוזת לשימוש במקום GET או HEAD כאשר מבצעים פעולת HTTP request. אפשרות זו שימושית כאשר מבצעים DELETE או כל פעולה אחרת מסוג HTTP request . ערכים אפשריים הם ערכים כגון GET, POST, וכך הלאה; שים לב: אין להעביר שורת HTTP request מלאה כאן. לדוגמא, העברת 'GET /index.html HTTP/1.0\r\n\r\n' תהיה לא נכונה.

    Note: אין לבצע פעולה זו לפני שמוודאים כי השרת אכן תומך בפקודה.

  • CURLOPT_PROXY : ציין את שם ה HTTP proxy שהבקשות יועברו דרכו.

  • CURLOPT_INTERFACE : ציין את שם ה network interface היוצא שיש להשתמש בו. הערך יכול להיות שם interface ,כתובת IP או שם מחשב מארח.

  • CURLOPT_KRB4LEVEL : העבר את רמת האבטחה KRB4 (Kerberos 4). הערך יכול להיות כל אחד מהערכים הבאים (מהחלשה מבין האפשרויות, לחזקה מביניהם): 'clear', 'safe', 'confidential', 'private'. אם הערך אינו תואם את אחד מהערכים האילו , אזי 'private' תהיה בשימוש. אם הערך נקבע ל NULL, אבטחת KRB4 תהיה מנוטרלת. אבטחת KRB4 עובדת כרגע רק עם העברות FTP .

  • CURLOPT_HTTPHEADER : העבר מערך שלשדות ה HTTP header שאותם ברצונך לקבוע.

  • CURLOPT_QUOTE : העבר מערך של פקודות FTP שיש לצע על השרת המרוחק לפני ביצוע בקשת ה FTP.

  • CURLOPT_POSTQUOTE : העבר מערך של פקודות FTP שיש לצע על השרת המרוחק אחרי ביצוע בקשת ה FTP.

האפשרויות הבאות מצפות ל file descriptor שהושג תוך שימוש בפונקציית fopen() :

  • CURLOPT_FILE : הקובץ אליו הפלט של ההעברה ינותב, ברירת המחדל היא STDOUT.
  • CURLOPT_INFILE : הקובץ ממנו הקלט של ההעברה מגיע.
  • CURLOPT_WRITEHEADER : הקובץ אליו יש לרשום את חלק ה header של הפלט.
  • CURLOPT_STDERR : הקובץ אליו יש לרשום את השגיאות במקום stderr.