curl_setopt — Ustawia opcję transferu cURL
Ustawia opcje danego uchwytu sesji cURL
Parametry
- ch
-
Uchwyt cURL zwrócony przez curl_init().
- option
-
CURLOPT_XXX opcja do ustawienia.
- value
-
vartość do ustawienia option .
value powinna być bool dla następujących wartości z opcji parametru:
Opcja Ustaw wartość CURLOPT_AUTOREFERER TRUE automatycznie ustawia Referer: pole żądań, gdzie następuje Location:przekierowanie. CURLOPT_BINARYTRANSFER TRUE aby powrócić do stanu wyjściowego, gdy użyty jest CURLOPT_RETURNTRANSFER. CURLOPT_COOKIESESSION TRUE by oznaczyć to jako nowe cookie (ciasteczko) "sesje". To będzie siła biblioteki curl (libcurl) by ignorować wszystkie cookies (ciasteczka) chodzi o ładowanie ich jako "session cookies" z poprzedniej sesji. Domyślnie, libcurl zawsze zapisuje i ładuje wszystkie cookies, niezależnie czy są one session cookies czy nie. Session cookies są cookies (ciasteczkami) terminu ważności są żywe i istnieją tylko dla tej sesji. CURLOPT_CRLF TRUE konwertuje nowe linie Unix na transfery nowych lini CRL CURLOPT_DNS_USE_GLOBAL_CACHE TRUE do korzystania z globalnej pamięci podręcznej systemu DNS. Ta opcja nie jest bezpiecznym wątkiem i jest domyślnie włączona. CURLOPT_FAILONERROR TRUE na cichą porażkę, jeśli HTTP zwróci kod większy lub równy 400. Zachowaniem domyślnym jest, powrócenie do strony normalnie, ignorując kod.CURLOPT_FILETIME TRUE próbuje pobrać datę modyfikacji zdalnego dokumentu.
Wartość ta może być pobrana za pomocąCURLINFO_FILETIME z opcją curl_getinfo().CURLOPT_FOLLOWLOCATION TRUE śledzi wszystkie "Location: " nagłówka, server wysyła jako część nagłówka HTTP . CURLOPT_FORBID_REUSE TRUE wymuszenie połączenia wyraźnie zamkniętego kiedy zakończy przetwarzanie, i nie mogą być łączone w celu ich ponownego użycia.CURLOPT_FRESH_CONNECT TRUE wymuszenie wykorzystania nowego połączenia z pamięci podręcznej, zamiast jednego. CURLOPT_FTP_USE_EPRT TRUE wykorzystanie EPRT (LPRT i) podczas aktywnego pobierania FTP.Użyj FALSE aby wyłączyć EPRT i LPRT i używać tylko PORT. CURLOPT_FTP_USE_EPSV TRUE najpiew próbuje komende EPSV dla transferu FTP przed powrotem do cofnięcia PASV. Wartość false wyłącza EPSV. CURLOPT_FTPAPPEND TRUE aby dołączyć do zdalnego pliku zamiast go nadpisać. CURLOPT_FTPASCII alians CURLOPT_TRANSFERTEXT. użyj tego zamiast. CURLOPT_FTPLISTONLY TRUE tylko lista nazw katalogów FTP. CURLOPT_HEADER TRUE dołącza nagłówek w wyjściu. CURLOPT_HTTPGET TRUE Resetuje żądanie HTTP Ponieważmetody GET.
GET jest ustawione domyślnie , jest konieczny tylko jeśli żadanie metody ulegnie zmianieCURLOPT_HTTPPROXYTUNNEL TRUE bezpośredni tunel dający proxy HTTP . CURLOPT_MUTE TRUE aby był całkowicie wyciszony w odniesieniu do funkcji cURL. CURLOPT_NETRC TRUE skanuje ~/.netrc plik aby znaleść nazwę użytkownika i hasło dla zdalnej storny, to polączenie jest ustawione z. CURLOPT_NOBODY TRUE wyklucza body z wyjścia. CURLOPT_NOPROGRESS TRUE aby wyłączyć miernik postępu dla transferów cURL
CURLOPT_NOSIGNAL TRUE aby ignorować wszelkie funkcje cURL
powoduje, że sygnał będzie wysłany do procesu PHP.Jest domyślnie włączona w wielo wątkowym SAPIs więc opcje timeout są wciąż używane.CURLOPT_POST TRUE do regularnego wysyłania HTTP POST. Ten POST jest normalnym rodzajem application/x-www-form-urlencoded,
Najczęściej używanym przez formularze HTMLCURLOPT_PUT TRUE aby umieścić plik HTTP. Plik muis być umieszczony z CURLOPT_INFILE i CURLOPT_INFILESIZE. CURLOPT_RETURNTRANSFER TRUE aby zwrócic transfer jako łańcuch znaków zwróconej wartości curl_exec() zamiast wyświetlać go bezpośrednio CURLOPT_SSL_VERIFYPEER FALSE aby zatrzymać weryfikacje certyfikatu. Zastępcą
sprawdzania certyfikatów przeciw może być określony z opcją CURLOPT_CAINFO lub certyfikat katalogu może być okreslony z opcją CURLOPT_CAPATH .
CURLOPT_SSL_VERIFYHOST
może być takżeTRUE lub FALSE jeśli CURLOPT_SSL_VERIFYPEER jest wyłączony (domyślnie jest 2).CURLOPT_TRANSFERTEXT TRUE aby użyć tyrbu ASCII dla transferów FTP . Dla LDAP, pobiera dane w postaci zwykłego tekstu, zamiast HTML. CURLOPT_UNRESTRICTED_AUTH TRUE aby zachowac wysłane nazwe użytkownika i hasło nawet wtedy kiedy następujące lokalizacje (za pomocą CURLOPT_FOLLOWLOCATION),
, zmieniły nazwę hosta.CURLOPT_UPLOAD TRUE aby przygotować się do wysyłaniaCURLOPT_VERBOSE TRUE aby wyprowadzić pełne informacje. Wypisze wyprowadzony STDERR, lub określony plik za pomocą CURLOPT_STDERR.
value powinien być liczbą całkowitą dla następujących wartości z opcji parametru:Opcja Ustaw wartość CURLOPT_BUFFERSIZE Rozmiar bufora do użytku dla każdego odczytu.Nie ma żadnej gwarancji, to żądanie zostanie spełnione.CURLOPT_CLOSEPOLICY Albo CURLCLOSEPOLICY_LEAST_RECENTLY_USED lub CURLCLOSEPOLICY_OLDEST Istnieją trzy inne . CURLCLOSEPOLICY_ stałe , ale cURL jeszce ich nie wspiera. CURLOPT_CONNECTTIMEOUT Liczba sekund oczekiwania przy jednoczenej próbie połączenia. Użyj 0 dla nieokreślonego oczekiwania. CURLOPT_DNS_CACHE_TIMEOUT Liczba sekund, aby zachować w pamięci wpisy DNS
Ta opcja jest ustawiona domyślnie na 120 (2 minuty) .CURLOPT_FTPSSLAUTH Metody uwierzytelniania FTP (kiedy jest aktywny): CURLFTPAUTH_SSL (pierwsza próba SSL), CURLFTPAUTH_TLS (pierwsza próba TLS), lubCURLFTPAUTH_DEFAULT (niech decyduje cURL ). CURLOPT_HTTP_VERSION CURL_HTTP_VERSION_NONE (Domyślnie, CURL pozwala zdecydować, która wersja ma zostać użyta), CURL_HTTP_VERSION_1_0 (lub HTTP/1.0), CURL_HTTP_VERSION_1_1 ( HTTP/1.1). CURLOPT_HTTPAUTH Metoda uwieżytelnienia HTTP do użycia. opcjami są: CURLAUTH_BASIC , CURLAUTH_DIGEST , CURLAUTH_GSSNEGOTIATE , CURLAUTH_NTLM , CURLAUTH_ANY , i CURLAUTH_ANYSAFE .operator | (lub) może być użyty to łączneia więcej niż jednej metody. Jesli jest wykonany, cURL przeprowadzi sonde serwera aby zobaczyć co wspierają metody i wybrać najlepszą z nich.CURLAUTH_ANY jest alianse dla CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.CURLAUTH_ANYSAFE jest aliansem dla CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM.
CURLOPT_INFILESIZE Oczekuje rozmiaru pliku w bajtach , kiedy wysyłamy plik zdalnej strony CURLOPT_LOW_SPEED_LIMIT Szybkość transferu, w bajtach na sekunde, transfer powinien być niższy niż podczas CURLOPT_LOW_SPEED_TIME sekund dla PHP rozważy zbyt wolny transfer i go przerwie CURLOPT_LOW_SPEED_TIME Liczba sekund, transfer spowinien być niższy CURLOPT_LOW_SPEED_LIMIT dla PHP rozważy zbyt wolny transfer i go przerwie CURLOPT_MAXCONNECTS Maksymalna ilośc trwałych połączeń które są dozwolone. Po przekroczeniu limitu, CURLOPT_CLOSEPOLICY zostaje użyty do określenia połączenia do zamknięcia. CURLOPT_MAXREDIRS Maksymalna liczba przekierowań HTTP. Użyj tej opcji obok CURLOPT_FOLLOWLOCATION. CURLOPT_PORT numer alternatywnego portu dla połączenia CURLOPT_PROXYAUTH Metoda autoryzacji HTTP użyta dla polączenia poprzez porxy. Użyj tej samej bitmaski jak opisano w CURLOPT_HTTPAUTH. dla uwieżytelnienia proxy, są aktualnie wspierane tylko CURLAUTH_BASIC i CURLAUTH_NTLM CURLOPT_PROXYPORT Numer portu dla polączniea proxy. Numer ten może też być ustawiony w CURLOPT_PROXY. CURLOPT_PROXYTYPE albo CURLPROXY_HTTP (domyślnie) lub CURLPROXY_SOCKS5 . CURLOPT_RESUME_FROM offset, w bajtach, Aby wznowić transfer od.CURLOPT_SSL_VERIFYHOST 1 sprawdza istnienie częstych nazw w certyfikacie SSL . 2 sprawdza istnienie na
zw i sprawdza, czy pasuje do nazwy hosta.CURLOPT_SSLVERSION Wersja SSL do użycia (2 or 3) . Domyślnie PHP próbuje określić ten sam, jednaki w
niektórych przypadkach musi to być ustawione ręcznie.CURLOPT_TIMECONDITION Jak traktowane jestCURLOPT_TIMEVALUE. Użyj CURL_TIMECOND_IFMODSINCE aby zwrócić tylko strone
jeżeli została zmodyfikowanaod czasu określonego w CURLOPT_TIMEVALUE. jeśli nie została zmodyfikowana zostanie zwrócony nagłówek "304 Not Modified" zakładając że CURLOPT_HEADER jest TRUE. Użyj CURL_TIMECOND_ISUNMODSINCE dla odwrotnego efektu. CURL_TIMECOND_IFMODSINCEjest domyślny .CURLOPT_TIMEOUT Maksymalna liczba sekundi pozwalająca na wykonanie funkcji cURL CURLOPT_TIMEVALUE czas w sekundach od January 1st, 1970. Czasu będzie używany przez CURLOPT_TIMECONDITION. Domyślnie użyty jest, CURL_TIMECOND_IFMODSINCE.
value powinna być ciągiem dla następujących wartości z opcji parametru:Opcja Ustaw wartość CURLOPT_CAINFO Nazwa pliku posiadającego jeden lub więcej certyfikatów w celu wzajemnego sprawdzenia.Ma to tylko sens używamuy go w kombinacji z CURLOPT_SSL_VERIFYPEER.CURLOPT_CAPATH Katalog posiadający wiele certyfikatów CA. Użyj tej opcji obok CURLOPT_SSL_VERIFYPEER. CURLOPT_COOKIE Zawartość nagłówka "Set-Cookie: " użytego w żądaniu HTTP. CURLOPT_COOKIEFILE Nazwa pliku zawierającego dane cookie (ciasteczka). Plik cookie może być w formacie Netscape , lub poprostu zwykły styl nagłówka HTTP. CURLOPT_COOKIEJAR Nazwa pliku zapisującego wszystkie wewnętrzne cookies, kiedy zostanie zamknięte połączenie CURLOPT_CUSTOMREQUEST Nie standardowe żądanie metody użytej zamiast "GET" lub "HEAD" kiedy wykonywane jest ządanie HTTP. Jest to użyteczne dla wykonania "DELETE" lub innych, bardziej zasłaniających żądania HTTP. Ważnymi wartościami są rzeczy takie jak "GET", "POST", "CONNECT"i tak dalej. Nie wprowadzaj całego żądania HTTP w tej lini. Na przykład, wprowadzenie "GET /index.html HTTP/1.0\r\n\r\n" było by niepoprawne
CURLOPT_EGDSOCKET CURLOPT_RANDOM_FILE, spodizewa się nazwy pliku gniazda Entropy Gathering Daemo. CURLOPT_ENCODING Zawartość nagłówka "Accept-Encoding: ". To umożliwia dekodowanie odpowiedzi. Wspiera kodowanie "identity", "deflate", oraz "gzip". Jeśli ustawiony ciąg jest pusty, "", wysyłany jest nagłówek zawierający wszystkie obsługiwane typy kodowania. CURLOPT_FTPPORT Wartość która będzie użyta do pobrania adresu IP użyta zostanie dla instrukcji FTP "POST" . Instrukcja "POST" mówi zdalnemu serwerowi z jakim określonym adresem IP ma się połączyć. ciąg może być zwykłym adresem IP , nazwą hosta, nazwą interfejsu sieciowego (pod Unix), lub poprostu zwykłym '-' do kożystania z domyślnego adresu IP. CURLOPT_INTERFACE Nazwa wychodzącego interfejsu sieciowelub nazwa hasta. CURLOPT_KRB4LEVEL KRB4 (Kerberos 4)poziom zabezpieczeń. Która kolwiek z występujących wartości (w kolejności od najmniej do najbardziej wpływowych) są ważne: "clear", "safe", "confidential", "private"..Jeśli ciąg nie pasuje do jednego z tych, użyty zostanie, "private" . Ustawienie tej opcji na NULL wyłączy zabezpieczenie KRB4 . Bieżące zabezpieczenie KRB4 działą tylko w transakcjach FTP. CURLOPT_POSTFIELDS Pełne dane wysłane w HTTP "POST". Wysyła plik, z przedrostkiem @ w nazwie pliku i używa pełnej ściezki. Może być przesłany jako ciąg urlencoded taki jak 'para1=val1¶2=val2&...' lub jako tablica z polami nazwy jako klucze i polami danych jako wartości. CURLOPT_PROXY Żądanie HTTP poprzez tunel proxy
CURLOPT_PROXYUSERPWD Nazwa użytkownika i hasło sformatowane jako "[username]:[password]" użyte zostanie do połączenia proxy. CURLOPT_RANDOM_FILE Nazwa pliku użyta do wysłania losowego numeru generowanego dla SSL. CURLOPT_RANGE Zakres(Zakresy) danych do pobrania w formacie "X-Y" gdzie X lub Y są opcjonalne. Transfery HTTP również wspierają klika odstępów czasu, oddzielonych przecinkami w formacie "X-Y,N-M". CURLOPT_REFERER Tresć nagłówka "Referer: " użytego w żądaniu HTTP. CURLOPT_SSL_CIPHER_LIST Lista szyfrów użytych w SSL. Na przykłąd, RC4-SHA i TLSv1 są ważną listą szyfrów. CURLOPT_SSLCERT Nazwa pliku łączącego sformatowany certyfikat PEM. CURLOPT_SSLCERTPASSWD Hasło wymagane do użycia certyfikatu CURLOPT_SSLCERT. CURLOPT_SSLCERTTYPE Format certyfikatu. Wspieranymi formatami są "PEM" (domyślny), "DER", i "ENG". CURLOPT_SSLENGINE Indentyfikator silnika kryptograficznego SSL określonego prywatnym kluczem w CURLOPT_SSLKEY. CURLOPT_SSLENGINE_DEFAULT Indentyfikator dla silnika kryptograficznego użytego dla asymetrycznej operacji kryptografiznej CURLOPT_SSLKEY Nazwa pliku zawierajcego prywatny klucz SSL CURLOPT_SSLKEYPASSWD Tajne hasło potrzebne do użycia prywatnego klucza SSL określonego w CURLOPT_SSLKEY.
CURLOPT_SSLKEYTYPE Typ prywatnego klucza SSL określonego w CURLOPT_SSLKEY. Wspieranymi typami klucz są "PEM" (domyślnie), "DER", i "ENG". CURLOPT_URL Sprowadza URL. Może to być również ustawione podczas inicjowania sesji zcurl_init().CURLOPT_USERAGENT Treść nagłówka "User-Agent: " użytego w żądaniu HTTP. CURLOPT_USERPWD nazwa uzytkownika i hasło w formacie "[username]:[password]" do użycia podczas połączenia.
value powinien być tablicą dla następujących wartości z opcji parametru:Opcja Ustaw wartość CURLOPT_HTTP200ALIASES Tablica odpowiedzi HTTP 200 będzie traktowana jako ważna odpowiedź a nie jako błąd. CURLOPT_HTTPHEADER Tablica pól nagłówków HTTP do ustawienia CURLOPT_POSTQUOTE Tablica poleceń FTP do wykonania na serwerze przed wykonaniem żądania FTP CURLOPT_QUOTE Tablica poleceń FTP do wykonania na serwerze przed żądaniem FTP
value powinna być strumieniem zasobów (za pomocą fopen (), na przykład) dla następujących wartości z opcji parametru:Opcja Ustaw wartość CURLOPT_FILE Plik którego transfer powinien być wypisany. Domyślnie jest STDOUT (okno przeglądarki). CURLOPT_INFILE Plik którego transfer powinien być odczytany podczas wysyłania CURLOPT_STDERR Alternatywna lokalizacja wyjścia dla błędów zamiast do STDERR. CURLOPT_WRITEHEADER Plik gdzie zapisywana jest część transferu nagłówka
value Powinna być ciągiem nazw i wartości zwróconych funkcji dla the następujących wartości parametrów opcji:Opcje Ustaw wartość CURLOPT_HEADERFUNCTION Nazwa wywołanej funkcji, wezwana funkcja pobiera dwa parametry. Pierwszym jest źródło cURL a drugim ciąg znaków z danych w nagłówku. Dane nagłówka muszą być wypisane kiedy korzystasz z wywołanej funkcji. Zwraca liczbę wypisanych bajtów CURLOPT_PASSWDFUNCTION Nazwa wywolanej funkcji , gdzie wywołana funkcja pobiera try parametry . Pierwszym jest źródło cURL, drugim ciąg znaków zawierający hasło , i trzecim maksymalna długość hasła. Zrwaca ciąg zawierający hasło. CURLOPT_READFUNCTION Nazwa wywołanej funkcji, wezwana funkcja pobiera dwa parametry. Pierwszym jest źródło cURL a drugim ciąg znaków z danych którem mają zostać odczytane. Dane muszą być odczytane przez wywołaną funkcję. Zwraca odczytaną liczbę bajtów. Zwraca 0 dla sygnałul EOF. CURLOPT_WRITEFUNCTION Nazwa wywołanej funkcji, wezwana funkcja pobiera dwa parametry. Pierwszym jest źródło cURL a drugim ciąg znaków z danymi do zapisu. Dane muszą być zapisane przez wywołaną funkcję. Musi zwrócić dokładną liczbę zapisanych bajtów.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.
Listing
//Example #1 Inicjalizowanie nowej sesji cURL i
pobieranie strony internetowej
<?php
// Tworzymy nowe źródło cURL
$ch = curl_init();
// ustawiamy odpowiedni adres URL i inne opcje
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, false);
// pobiera URL i przekazuje go do przeglądarki
curl_exec($ch);
//zamekamy wszystkie uchwyty i uwalniamy zasoby
curl_close($ch);
?>
//Example #2 Przesyłanie pliku
<?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);
?>
//Powyższy przykład wyświetli:
Array
(
[name] => Foo
)|>
Array
(
[file] => Array
(
[name] => test.png
[type] => image/png
[tmp_name] => /tmp/phpcpjNeQ
[error] => 0
[size] => 279
)
)
Ranga: Administrator serwisu Punktów: 0