CURL je paket softver, koji se sastoji od uslužnog programa naredbenog retka i biblioteke za prosljeđivanje podataka pomoću URL sintakse.
CURL podržava mnoge protokole, uključujući DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet i TFTP.
Učitajte zasebnu datoteku
Sljedeća naredba će dobiti sadržaj URL-a i prikazati ga na standardnom izlazu (tj. vašem terminalu).
Curl https://mi-al.ru/ > mi-al.htm % Ukupno % Primljeno % Xferd Prosječna brzina Vrijeme Vrijeme Vrijeme Trenutno učitavanje Prijenos Ukupno potrošena lijeva brzina 100 14378 0 14378 0 0 5387 0 --: --:- - 0:00:02 --:--:-- 5387
Spremanje cURL izlaza u datotekuRezultat naredbe curl možemo spremiti u datoteku pomoću opcija -o/-O.
- -o(o malim slovima) rezultat će biti spremljen u datoteku navedenu u naredbeni redak
- -O(velika slova O) naziv datoteke bit će preuzet iz URL-a i koristit će se za spremanje primljenih podataka.
$ curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html
Stranica gettext.html sada će biti spremljena u datoteku pod nazivom 'mygettext.html'. Kada se curl pokrene s opcijom -o, prikazuje traku napretka preuzimanja kako slijedi.
% Ukupno % Primljeno % Xferd Prosječna brzina Vrijeme Vrijeme Trenutačno Dload Prijenos Ukupna potrošena lijeva brzina 66 1215k 66 805k 0 0 33060 0 0:00:37 0:00:24 0:00:13 45900 100 1215k 100 1215k 0 0 39474 0 0:00:31 0:00:31 --:--:-- 68987
Kada koristite curl -O (velika slova O), on će sam spremiti sadržaj u datoteku pod nazivom 'gettext.html' na lokalnom računalu.
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html
Napomena: Kada curl treba pisati podatke na terminal, onemogućuje traku napretka kako bi se izbjegla zabuna s ispisanim podacima. Možemo koristiti opcije '>'|'-o'|'-O' za prijenos rezultata u datoteku.
Dohvaćanje više datoteka odjednom
Možemo preuzeti više datoteka odjednom navođenjem svih URL-ova u naredbenom retku.
Curl -O URL1 -O URL2
Donja naredba će preuzeti i index.html i gettext.html i spremiti ih pod istim imenima u trenutni direktorij.
Curl -O http://www.gnu.org/software/gettext/manual/html_node/index.html -O http://www.gnu.org/software/gettext/manual/gettext.html
Imajte na umu da kada preuzmemo više datoteka s istog poslužitelja kao što je prikazano gore, curl će pokušati ponovno upotrijebiti vezu.
Slijedite zaglavlja HTTP lokacije s opcijom -L
Prema zadanim postavkama, CURL ne slijedi HTTP lokaciju u zaglavljima (preusmjeravanja). Kada se tražena web stranica premjesti na drugu lokaciju, odgovarajući odgovor bit će poslan u zaglavlja HTTP lokacije.
Na primjer, kada netko upiše google.com u svoj preglednik iz svoje zemlje, automatski će biti preusmjeren na 'google.co.xx'. To se radi na temelju zaglavlja HTTP lokacije kao što je prikazano u nastavku.
Curl https://www.google.com/?gws_rd=ssl
302 Premješteno
Dokument je premješten ovdje.Gornji izlaz kaže da je traženi dokument premješten u "
Skriven od gostiju
.Možete reći curlu da slijedi preusmjeravanja, to se radi pomoću opcije -L kao što je prikazano u nastavku. Sada će se učitati izvor html s
Skriven od gostiju
.Curl -L https://www.google.com/?gws_rd=ssl
Obnavljanje prethodnog preuzimanjaKorištenjem opcije -C možete nastaviti preuzimanje koje je zaustavljeno iz nekog razloga. Ovo će biti korisno kada preuzimanje velikih datoteka ne uspije.
Ako kažemo '-C -', tada će curl tražiti odakle nastaviti preuzimanje. Također možemo navesti '-C<смещение>’. Navedeni pomak bajta bit će preskočen od početka izvorne datoteke.
Započnite veliko opterećenje pomoću curl i pritisnite Ctrl-C da zaustavite preuzimanje usred preuzimanja.
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html ############### 20,1%
Injektiranje je zaustavljeno na 20,1%. Koristeći “curl -C -” možemo nastaviti učitavanje od mjesta gdje smo stali. Sada će se preuzimanje nastaviti od 20,1%.
Curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html ################ 21,1%
Ograničenje brzine prijenosa podatakaBrzinu prijenosa podataka možete ograničiti pomoću opcije –limit-rate. Maksimalnu brzinu možete proslijediti kao argument.
$ curl --limit-rate 1000B -O http://www.gnu.org/software/gettext/manual/gettext.html
Gornja naredba ograničit će brzinu prijenosa na 1000 bajtova/sekundi. curl može koristiti veće brzine u vrhovima. Ali prosječna brzina bit će otprilike 1000 bajtova u sekundi.
Ispod je traka napretka za gornju naredbu. Možete vidjeti da je trenutna brzina oko 1000 bajtova.
% Ukupno % Primljeno % Xferd Prosječna brzina Vrijeme Vrijeme Trenutačno Dload Prijenos Ukupna potrošena lijeva brzina 1 1215k 1 13601 0 0 957 0 0:21:40 0:00:14 0:21:26 999 1 1215k 1 14601 0 0 960 0 0:21:36 0:00:15 0:21:21 999 1 1215k 1 15601 0 0 962 0 0:21:34 0:00:16 0:21:18 999
Učitaj datoteku samo ako je promijenjena prije/nakon određenog vremenaMožete dobiti datoteke koje su se promijenile nakon određenog vremena pomoću opcije -z u curl. Ovo će raditi i za FTP i za HTTP.
Gornja naredba će učitati yy.html samo ako je izmijenjen u novije vrijeme od navedenog datuma i vremena.
Gornja naredba će učitati file.html ako je izmijenjen prije zadanog datuma i vremena. Upišite 'man curl_getdate' da biste saznali više o različitim podržanim sintaksama za datumske izraze.
Prosljeđivanje HTTP provjere autentičnosti u cURL-u
Ponekad web-mjesta zahtijevaju korisničko ime i lozinku za pregled sadržaja. Pomoću opcije -u možete proslijediti ove vjerodajnice s cURL-a web poslužitelju kao što je prikazano u nastavku.
$ curl -u korisničko ime: lozinka URL
Napomena: Prema zadanim postavkama, curl koristi HTTP osnovnu provjeru autentičnosti. Možemo postaviti druge metode provjere autentičnosti koristeći –ntlm | -probaviti.
cURL se također može koristiti za preuzimanje datoteka s FTP poslužitelja. Ako je navedena FTP staza direktorij, tada će prema zadanim postavkama biti prikazan popis datoteka u njemu.
$ curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php
Gornja naredba će preuzeti datoteku xss.php s ftp poslužitelja i spremiti je u lokalni direktorij.
$ curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/
Ovdje se URL odnosi na imenik. Stoga će cURL ispisati datoteke i direktorije na danom URL-u.
CURL podržava raspone navedene u URL-ovima. Kada se zada raspon, učitat će se odgovarajuće datoteke unutar tog raspona. Ovo će biti korisno prilikom preuzimanja paketa s FTP zrcalnih stranica.
$ curl ftp://ftp.uk.debian.org/debian/pool/main//
Gornja naredba izlistat će sve pakete raspon a-z u terminalu.
Prijenos datoteka na FTP poslužitelj
Curl se također može koristiti za učitavanje na FTP poslužitelj s opcijom -T.
$ curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com
Gornja naredba prenijet će datoteku pod nazivom myfile.txt na FTP poslužitelj. Također možete prenijeti više datoteka odjednom pomoću raspona.
$ curl -u ftpuser:ftppass -T "(datoteka1,datoteka2)" ftp://ftp.testserver.com
Opcionalno možemo koristiti "." za primanje sa standardnog ulaza i prosljeđivanje na udaljeni stroj.
$ curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt
Gornja naredba će primiti izlaz od korisnika sa standardnog ulaza i pohraniti sadržaj na ftp poslužitelj kao 'myfile_1.txt'.
Možete navesti '-T' za svaki URL, a svaki par adresa-datoteka odredit će što kamo uploadati
Više informacija uz povećanu opširnost i praćenje
Možete saznati što se događa pomoću opcije -v. Opcija -v omogućuje verbalni način rada i ispisuje detalje.
Curl -v https://www.google.co.th/?gws_rd=ssl
Gornja naredba će ispisati sljedeće
* Ponovno izgrađen URL na: https://www.google.co.th/?gws_rd=ssl * Naziv glavnog računala bio je Nije pronađeno u DNS predmemoriji * Pokušavam 27.123.17.49... * Povezan na www.google.co.th (27.123.17.49) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.38.0 > Host : www.google.co.th > Prihvati: */* >< HTTP/1.1 200 OK < Date: Fri, 14 Aug 2015 23:07:20 GMT < Expires: -1 < Cache-Control: private, max-age=0 < Content-Type: text/html; charset=windows-874 < P3P: CP="This is not a P3P policy! See https://support.google.com/accounts/answer/151657?hl=en for more info." * Server gws is not blacklisted < Server: gws < X-XSS-Protection: 1; mode=block < X-Frame-Options: SAMEORIGIN < Set-Cookie: PREF=ID=1111111111111111:FF=0:TM=1439593640:LM=1439593640:V=1:S=FfuoPPpKbyzTdJ6T; expires=Sun, 13-Aug-2017 23:07:20 GMT; path=/; domain=.google.co.th ... ... ...
Ako trebate više detaljne informacije, tada možete koristiti opciju –trace. Opcija –trace omogućit će puni dump praćenja svih dolaznih/odlaznih podataka za određenu datoteku
CURL je softverski paket koji se sastoji od uslužnog programa naredbenog retka i biblioteke za prijenos podataka pomoću URL sintakse.
CURL podržava mnoge protokole, uključujući DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet i TFTP.
Učitajte zasebnu datoteku
Sljedeća naredba će dobiti sadržaj URL-a i prikazati ga na standardnom izlazu (tj. vašem terminalu).
Curl https://mi-al.ru/ > mi-al.htm % Ukupno % Primljeno % Xferd Prosječna brzina Vrijeme Vrijeme Vrijeme Trenutno učitavanje Prijenos Ukupno potrošena lijeva brzina 100 14378 0 14378 0 0 5387 0 --: --:- - 0:00:02 --:--:-- 5387
Spremanje cURL izlaza u datotekuRezultat naredbe curl možemo spremiti u datoteku pomoću opcija -o/-O.
- -o(o malim slovima) rezultat će biti spremljen u datoteku navedenu u naredbenom retku
- -O(velika slova O) naziv datoteke bit će preuzet iz URL-a i koristit će se za spremanje primljenih podataka.
$ curl -o mygettext.html http://www.gnu.org/software/gettext/manual/gettext.html
Stranica gettext.html sada će biti spremljena u datoteku pod nazivom 'mygettext.html'. Kada se curl pokrene s opcijom -o, prikazuje traku napretka preuzimanja kako slijedi.
% Ukupno % Primljeno % Xferd Prosječna brzina Vrijeme Vrijeme Trenutačno Dload Prijenos Ukupna potrošena lijeva brzina 66 1215k 66 805k 0 0 33060 0 0:00:37 0:00:24 0:00:13 45900 100 1215k 100 1215k 0 0 39474 0 0:00:31 0:00:31 --:--:-- 68987
Kada koristite curl -O (velika slova O), on će sam spremiti sadržaj u datoteku pod nazivom 'gettext.html' na lokalnom računalu.
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html
Napomena: Kada curl treba pisati podatke na terminal, onemogućuje traku napretka kako bi se izbjegla zabuna s ispisanim podacima. Možemo koristiti opcije '>'|'-o'|'-O' za prijenos rezultata u datoteku.
Dohvaćanje više datoteka odjednom
Možemo preuzeti više datoteka odjednom navođenjem svih URL-ova u naredbenom retku.
Curl -O URL1 -O URL2
Donja naredba će preuzeti i index.html i gettext.html i spremiti ih pod istim imenima u trenutni direktorij.
Curl -O http://www.gnu.org/software/gettext/manual/html_node/index.html -O http://www.gnu.org/software/gettext/manual/gettext.html
Imajte na umu da kada preuzmemo više datoteka s istog poslužitelja kao što je prikazano gore, curl će pokušati ponovno upotrijebiti vezu.
Slijedite zaglavlja HTTP lokacije s opcijom -L
Prema zadanim postavkama, CURL ne slijedi HTTP lokaciju u zaglavljima (preusmjeravanja). Kada se tražena web stranica premjesti na drugu lokaciju, odgovarajući odgovor bit će poslan u zaglavlja HTTP lokacije.
Na primjer, kada netko upiše google.com u svoj preglednik iz svoje zemlje, automatski će biti preusmjeren na 'google.co.xx'. To se radi na temelju zaglavlja HTTP lokacije kao što je prikazano u nastavku.
Curl https://www.google.com/?gws_rd=ssl
302 Premješteno
Dokument je premješten ovdje.Gornji izlaz kaže da je traženi dokument premješten u "
Skriven od gostiju
.Možete reći curlu da slijedi preusmjeravanja, to se radi pomoću opcije -L kao što je prikazano u nastavku. Sada će se učitati izvornik html kod S
Skriven od gostiju
.Curl -L https://www.google.com/?gws_rd=ssl
Obnavljanje prethodnog preuzimanjaKorištenjem opcije -C možete nastaviti preuzimanje koje je zaustavljeno iz nekog razloga. Ovo će biti korisno kada preuzimanje velikih datoteka ne uspije.
Ako kažemo '-C -', tada će curl tražiti odakle nastaviti preuzimanje. Također možemo navesti '-C<смещение>’. Navedeni pomak bajta bit će preskočen od početka izvorne datoteke.
Pokrenite veliko preuzimanje pomoću curl i pritisnite Ctrl-C da biste ga zaustavili usred preuzimanja.
$ curl -O http://www.gnu.org/software/gettext/manual/gettext.html ############### 20,1%
Injektiranje je zaustavljeno na 20,1%. Koristeći “curl -C -” možemo nastaviti učitavanje od mjesta gdje smo stali. Sada će se preuzimanje nastaviti od 20,1%.
Curl -C - -O http://www.gnu.org/software/gettext/manual/gettext.html ################ 21,1%
Ograničenje brzine prijenosa podatakaBrzinu prijenosa podataka možete ograničiti pomoću opcije –limit-rate. Maksimalnu brzinu možete proslijediti kao argument.
$ curl --limit-rate 1000B -O http://www.gnu.org/software/gettext/manual/gettext.html
Gornja naredba ograničit će brzinu prijenosa na 1000 bajtova/sekundi. curl može koristiti veće brzine u vrhovima. Ali prosječna brzina bit će otprilike 1000 bajtova u sekundi.
Ispod je traka napretka za gornju naredbu. Možete vidjeti da je trenutna brzina oko 1000 bajtova.
% Ukupno % Primljeno % Xferd Prosječna brzina Vrijeme Vrijeme Trenutačno Dload Prijenos Ukupna potrošena lijeva brzina 1 1215k 1 13601 0 0 957 0 0:21:40 0:00:14 0:21:26 999 1 1215k 1 14601 0 0 960 0 0:21:36 0:00:15 0:21:21 999 1 1215k 1 15601 0 0 962 0 0:21:34 0:00:16 0:21:18 999
Učitaj datoteku samo ako je promijenjena prije/nakon određenog vremenaMožete dobiti datoteke koje su se promijenile nakon određenog vremena pomoću opcije -z u curl. Ovo će raditi i za FTP i za HTTP.
Gornja naredba će učitati yy.html samo ako je izmijenjen u novije vrijeme od navedenog datuma i vremena.
Gornja naredba će učitati file.html ako je izmijenjen prije zadanog datuma i vremena. Upišite 'man curl_getdate' da biste saznali više o različitim podržanim sintaksama za datumske izraze.
Prosljeđivanje HTTP provjere autentičnosti u cURL-u
Ponekad web-mjesta zahtijevaju korisničko ime i lozinku za pregled sadržaja. Pomoću opcije -u možete proslijediti ove vjerodajnice s cURL-a web poslužitelju kao što je prikazano u nastavku.
$ curl -u korisničko ime: lozinka URL
Napomena: Prema zadanim postavkama, curl koristi HTTP osnovnu provjeru autentičnosti. Možemo postaviti druge metode provjere autentičnosti koristeći –ntlm | -probaviti.
cURL se također može koristiti za preuzimanje datoteka s FTP poslužitelja. Ako je navedena FTP staza direktorij, tada će prema zadanim postavkama biti prikazan popis datoteka u njemu.
$ curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/xss.php
Gornja naredba će preuzeti datoteku xss.php s ftp poslužitelja i spremiti je u lokalni direktorij.
$ curl -u ftpuser:ftppass -O ftp://ftp_server/public_html/
Ovdje se URL odnosi na imenik. Stoga će cURL ispisati datoteke i direktorije na danom URL-u.
CURL podržava raspone navedene u URL-ovima. Kada se zada raspon, učitat će se odgovarajuće datoteke unutar tog raspona. Ovo će biti korisno prilikom preuzimanja paketa s FTP zrcalnih stranica.
$ curl ftp://ftp.uk.debian.org/debian/pool/main//
Gornja naredba izlistat će sve pakete u rasponu a-z u terminalu.
Prijenos datoteka na FTP poslužitelj
Curl se također može koristiti za učitavanje na FTP poslužitelj s opcijom -T.
$ curl -u ftpuser:ftppass -T myfile.txt ftp://ftp.testserver.com
Gornja naredba prenijet će datoteku pod nazivom myfile.txt na FTP poslužitelj. Također možete prenijeti više datoteka odjednom pomoću raspona.
$ curl -u ftpuser:ftppass -T "(datoteka1,datoteka2)" ftp://ftp.testserver.com
Opcionalno možemo koristiti "." za primanje sa standardnog ulaza i prosljeđivanje na udaljeni stroj.
$ curl -u ftpuser:ftppass -T - ftp://ftp.testserver.com/myfile_1.txt
Gornja naredba će primiti izlaz od korisnika sa standardnog ulaza i pohraniti sadržaj na ftp poslužitelj kao 'myfile_1.txt'.
Možete navesti '-T' za svaki URL, a svaki par adresa-datoteka odredit će što kamo uploadati
Više informacija uz povećanu opširnost i praćenje
Možete saznati što se događa pomoću opcije -v. Opcija -v omogućuje verbalni način rada i ispisuje detalje.
Curl -v https://www.google.co.th/?gws_rd=ssl
Gornja naredba će ispisati sljedeće
* Ponovno izgrađen URL na: https://www.google.co.th/?gws_rd=ssl * Naziv hosta NIJE pronađen u DNS predmemoriji * Pokušavam 27.123.17.49... * Povezan na www.google.co.th (27.123. 17.49) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.38.0 > Host: www.google.co.th > Accept: */* >< HTTP/1.1 200 OK < Date: Fri, 14 Aug 2015 23:07:20 GMT < Expires: -1 < Cache-Control: private, max-age=0 < Content-Type: text/html; charset=windows-874 < P3P: CP="This is not a P3P policy! See https://support.google.com/accounts/answer/151657?hl=en for more info." * Server gws is not blacklisted < Server: gws < X-XSS-Protection: 1; mode=block < X-Frame-Options: SAMEORIGIN < Set-Cookie: PREF=ID=1111111111111111:FF=0:TM=1439593640:LM=1439593640:V=1:S=FfuoPPpKbyzTdJ6T; expires=Sun, 13-Aug-2017 23:07:20 GMT; path=/; domain=.google.co.th ... ... ...
Ako trebate detaljnije informacije, tada možete koristiti opciju –trace. Opcija –trace omogućit će puni dump praćenja svih dolaznih/odlaznih podataka za određenu datoteku
CURL je alat naredbenog retka za primanje ili slanje podataka pomoću URL sintakse.
Ako radite u službi za pomoć, trebali biste moći koristiti cURL naredbe za rješavanje problema s web aplikacijama. cURL je uslužni program za više platformi za Windows, MAC i UNIX.
Ispod su neki često korišteni primjeri sintakse.
1. Provjerite može li se URL povezati
Ako ste na UNIX sustavu i pokušavate se spojiti na vanjski URL, prvo provjerite možete li pristupiti resursu putem curl. Da biste to učinili, koristite sljedeću naredbu:
# curl yoururl.com
2. Spremanje URL/URI izlaza u datoteku
# curl yoururl.com > yoururl.html
Na primjer:
# curl 74.125.68.100 >/tmp/google.html
Gornji primjer spremit će sav sadržaj s hosta 74.125.68.100 u datoteku /tmp/google.html.
3. Prikažite zaglavlje zahtjeva i odgovora
Ako želite biti sigurni da ćete primiti očekivano zaglavlje zahtjeva i odgovora, upotrijebite sljedeću naredbu:
# curl -v vašurl.com
Na primjer:
# curl -v 74.125.68.100 * Spremam se za povezivanje() na 74.125.68.100 port 80 (#0) * Pokušavam 74.125.68.100... * Spojen na 74.125.68.100 (74.125.68.100) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 74.125.68.100 > Accept: */* >< HTTP/1.1 200 OK
Ako želite znati koliko je vremena potrebno za preuzimanje određenom brzinom, upotrijebite sljedeću naredbu: # curl --limit-rate 2000B Na primjer: # curl --limit-rate 2000B 74.125.68.100 Ako trebate provjeriti može li se koristiti proxy poslužitelj, koristite sljedeću sintaksu: # curl --proxyyourproxy:port http://yoururl.com Da biste riješili određeni problem, možete koristiti Curl za umetanje podataka u zaglavlje. Razmotrite sljedeći primjer zahtjeva s Content-Type: # curl --header "Content-Type: application/json" http://yoururl.com Tražimo od curl-a da prenese Content-Type kao application/json u zaglavlju zahtjeva. Možete dodati zaglavlje zahtjevu pomoću sintakse -header. # curl --header “X-CustomHeader: GeekFlare” http://yoururl.com Na primjer: # curl -v --header "X-CustomHeader: GeekFlare" 74.125.68 * Upravo se spaja() na 74.125.68.100 port 80 (#0) * Pokušavam 74.125.68.100... * Povezano na 74.125.68.100 (74.125. 68.100) port 80 (#0) > GET / HTTP/1.1 > User-Agent: curl/7.29.0 > Host: 74.125.68.100 > Accept: */* > X-CustomHeader: GeekFlare >< HTTP/1.1 200 OK
Ako želite brzo provjeriti zaglavlje odgovora, tada možete koristiti sljedeću sintaksu da to učinite. # kovrča --glava http://vašurl.com # curl -I 74.125.68.100 HTTP/1.1 200 OK Datum: ned, 18. siječnja 2015. 08:31:22 GMT Ističe: -1 Cache-Control: privatno, max-age=0 Content-Type: text/html; charset=ISO-8859-1 Set-Cookie: NID=67=SpnXKTDUhw7QGakIeLxmDSF; expires=Mon, 20-Jul-2015 08:31:22 GMT; put=/; domena=.; HttpOnly P3P: CP="Ovo nije P3P pravilo! Pogledajte http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 za više informacija." Poslužitelj: gws X-XSS-Zaštita: 1; mode=block X-Frame-Options: SAMEORIGIN Alternate-Protocol: 80:quic,p=0.02 Transfer-Encoding: chunked Accept-Ranges: none Vary: Accept-Encoding # Ako trebate pristupiti https URL-u koji izbacuje pogrešku certifikata zbog nepodudaranja imena glavnog računala, možete koristiti sljedeću sintaksu. curl --nesiguran https://yoururl.com Za spajanje na URL koristeći samo SSL V2/V3 ili TLS, koristite sljedeću sintaksu. Za povezivanje pomoću SSLV2: # curl --sslv2 https://yoururl.com Za povezivanje pomoću SSLV3: # curl --sslv3 https://yoururl.com Za povezivanje putem TLS-a: # curl --tlsv1 https://yoururl.com Pomoću cURL-a možete preuzeti datoteku s ftp poslužitelja unosom korisničkog imena i lozinke. # curl -u korisnik:lozinka -O ftp://ftpurl/style.css Uvijek možete koristiti "-v" s bilo kojom sintaksom za ispis u opširnom načinu. Da, moguće je. Možete daljinski izvršiti cURL pomoću sljedećih alata. Connect-timeout --cookie --data --header --head --location --max-time --proxy --request --user --url --user-agent Primjer izlaza: cURL alat za izradu naredbenog retka – Omogućuje stvaranje cURL naredbe koju možete koristiti za unos informacija u korisničko sučelje. Pravi praktičan primjer: morate ponovno pokrenuti usmjerivač (modem) kako biste promijenili IP adresu. Da biste to učinili, trebate se: prijaviti na usmjerivač, otići na stranicu za održavanje i kliknuti gumb "Ponovo pokreni". Ako je ovu radnju potrebno izvesti nekoliko puta, tada se postupak mora ponoviti. Slažete se, ne želite ovu rutinu raditi svaki put ručno. cURL vam omogućuje da sve ovo automatizirate. Sa samo nekoliko cURL naredbi možete postići autorizaciju i dovršiti zadatak na usmjerivaču. Oni. slučajevi korištenja cURL-a su sasvim realni, iako je cURL u većini potreban programerima koji ga koriste za svoje programe. CURL podržava mnoge protokole i metode autorizacije, može prenositi datoteke, ispravno radi s kolačićima, podržava SSL certifikate, proxyje i još mnogo toga. cURL u PHP-u i naredbenoj liniji
cURL možemo koristiti na dva glavna načina: u PHP skriptama i na naredbenom retku. Da biste omogućili cURL u PHP-u na poslužitelju, morate odkomentirati redak u datoteci php.ini Ekstenzija=php_curl.dll Zatim ponovno pokrenite poslužitelj. Na Linuxu trebate instalirati curl paket. Na Debianu, Ubuntuu ili Linux Mintu: $ sudo apt-get install curl $ sudo yum instalirajte curl Da bismo jasno vidjeli razliku u korištenju u PHP-u i na naredbenom retku, izvršit ćemo iste zadatke dva puta: prvo u PHP skripti, a zatim na naredbenom retku. Pokušajmo se ne zbuniti. Dohvaćanje podataka pomoću cURL-a
Dohvaćanje podataka pomoću cURL-a u PHP-u
Primjer u PHP-u: Sve je vrlo jednostavno: curl_init- inicijalizira novu sesiju i vraća handle, koji je u našem primjeru dodijeljen varijabli $ch. Zatim izvršavamo zahtjev s funkcijom cURL curl_exec, kojem se deskriptor prosljeđuje kao parametar. Sve je vrlo logično, ali kada se ova skripta izvrši, sadržaj stranice će biti prikazan na našoj stranici. Ali što ako ne želimo prikazati sadržaj, već ga želimo zapisati u varijablu (za naknadnu obradu ili raščlanjivanje). Dodajmo malo našoj skripti: 0) ( echo "Pogreška curla: " . curl_error($ch); ) curl_close($ch); ?> Imamo liniju curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);. curl_setopt- postavlja opcije. Kompletan popis opcija možete pronaći na ovoj stranici: Skriven od gostiju $podaci_odgovora = curl_exec($ch); Sada je vrijednost skripte dodijeljena varijabli $response_data, s kojom se mogu izvoditi daljnje operacije. Na primjer, možete prikazati njegov sadržaj. Šavovi If (curl_errno($ch) > 0) ( echo "Curl error: " . curl_error($ch); ) služe za otklanjanje grešaka u slučaju pojave grešaka. Dohvaćanje podataka pomoću cURL-a u naredbenom retku
U naredbeni redak samo upišite gdje umjesto mi-al.ru- adresu vaše web stranice. Ako trebate kopirati podatke u varijablu, a ne prikazati rezultat na zaslonu, učinite ovo: Temp="curl mi-al.ru" Međutim, neki podaci se još uvijek prikazuju: Kako biste spriječili njihovo prikazivanje, dodajte ključ -s: Temp="curl -s mi-al.ru" Možete vidjeti što je snimljeno: Echo $temp | manje Autentifikacija je, jednostavno rečeno, unos korisničkog imena i lozinke. Osnovna autentifikacija je autentifikacija temeljena na poslužitelju. Za to se stvaraju dvije datoteke: .htaccess I .htpasswd Sadržaj .htaccess datoteke je otprilike ovakav AuthName "Samo za registrirane korisnike!" AuthType Basic zahtijeva valid-user AuthUserFile /home/freeforum.biz/htdocs/.htpassw Mijal:CRdiI.ZrZQRRc Oni. prijava i lozinka hash. Kada pokušate pristupiti mapi zaštićenoj lozinkom, preglednik će prikazati nešto poput ovoga: HTTP autentifikacija je slučaj kada unosimo prijavu i lozinku u obrazac na web stranici. Upravo se ova provjera autentičnosti koristi prilikom prijave na e-poštu, forume itd. Osnovna cURL provjera autentičnosti (PHP)
Postoji web stranica Skriven od gostiju Isprobajmo našu početnu skriptu: 0) ( echo "Curl error: " . curl_error($ch); ) else ( echo $response_data; ) curl_close($ch); ?> Iako skripta vjeruje da nema greške, rezultat nam se uopće ne sviđa: Dodajte dva retka: Curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "ru-board:ru-board"); Prvi red postavljamo vrstu provjere autentičnosti - osnovnu. Drugi red sadrži ime i lozinku odvojene dvotočkom (u našem slučaju ime i lozinka su isti - ru-board). Ispalo je ovako: 0) ( echo "Curl error: " . curl_error($ch); ) else ( echo $response_data; ) curl_close($ch); ?> Pokušajmo: 30946 Odlično! Osnovna cURL provjera autentičnosti (u naredbenom retku) Isto se može postići u naredbenom retku jednim retkom: curl -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/ Nisam zaboravio navesti vrstu provjere autentičnosti, samo što je u cURL-u osnovna vrsta provjere autentičnosti zadana. Sve je tako brzo funkcioniralo na naredbenom retku da sam iz frustracije napisao sljedeći program. Ona se spaja na stranicu i preuzima najnovije ažuriranje: Temp=`curl -s -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/ | grep -E -o "Ažuriraj_FED_201(1).(2).(2).7z" | jedinstven | rep -n 1`; curl -o $temp -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/$temp Uz još samo nekoliko naredbi koje možete dodati: HTTP cURL autentifikacija u PHP-u
Moramo znati: Adresu na koju trebate poslati podatke možete preuzeti iz obrasca za provjeru autentičnosti. Na primjer: Gledamo imanje akcijski. Oni. zadnja stranica je prijava.php. Trebamo punu adresu, ovako Skriven od gostiju Ovdje također nalazimo način slanja: metoda="post" Također znam prijavu i lozinku: admin i qwerasdfzxcv 0) ( echo "Pogreška curla: " . curl_error($ch); ) else () curl_close($ch); ?> Novi redak u skripti curl_setopt($ch, CURLOPT_POSTFIELDS, "LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv"); Ovdje curl_setopt- nama već poznata funkcija za podešavanje opcija za cURL, CURLOPT_POSTFIELDS- ovo je naziv opcije koju postavljamo. CURLOPT_POSTFIELDS sadrži sve podatke koji se prenose POST metodom. Pa sama linija LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv- radi se o istim podacima koje prenosimo. Ako pažljivo pregledate obrazac, vidjet ćete da sadrži i skrivena polja. A podaci se mogu obraditi ili nadopuniti JavaScriptom, sve to možete proučavati, ali ja više volim jednostavniju metodu. Koristim Wireshark. Ovaj program je dizajniran za njuškanje (presretanje) prometa. I u njemu je vrlo zgodno vidjeti što se točno prenosi na stranicu. Pogledajte ovaj mali video: Unio sam ispravan parametar, a također sam malo izmijenio skriptu tako da ne samo da se prijavljuje, već i prima nešto od usmjerivača: 0) ( echo "Curl error: " . curl_error($ch); ) else ( $target_url2 = "http://188.35.8.64:8080/bsc_wlan.php"; $ch2 = curl_init($target_url2); curl_setopt($ ch2, CURLOPT_RETURNTRANSFER, 1); $response_data2 = curl_exec($ch2); preg_match("|f.ssid.value = "(.*)";|", $response_data2, $results2); $results2 = str_replace("f .ssid.value = "", "", $results2); $results2 = str_replace("";", "", $results2); echo "Naziv Wi-Fi mreže: $rezultati2 Skriven od gostiju (Ovo je dobro poznata ranjivost u D-Link DIR-300, D-Link DIR-320 i D-Link DAP-1353 usmjerivačima). HTTP cURL provjera autentičnosti na naredbenom retku
Već znamo punu adresu, kao i niz koji treba poslati. Dakle, jednostavno je: Curl --data "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv&login=Log+In+&VER_CODE=" http://188.35.8.64:8080/login.php Mislim da je sve jasno, jer smo te rokove već razmotrili. Ako nekome nije jasno neka pita u komentarima. Primjer korištenja cURL-a za dohvaćanje i analizu podataka bio bi sljedeći skup naredbi: Curl -s --data "ACTION_POST=LOGIN&FILECODE=&VERIFICATION_CODE=&LOGIN_USER=admin&LOGIN_PASSWD=qwerasdfzxcv&login=Log+In+&VER_CODE=" http://188.35.8.64:8080/login.php > /dev/null && echo -e "nn " && echo "Naziv Wi-Fi mreže" && curl -s http://188.35.8.64:8080/bsc_wlan.php | grep -E "f.ssid.value = "(.)*";" | sed "s/f.ssid.value = "//" | sed "s/";//" && echo "Zaporka Wi-Fi mreže" && curl -s http://188.35.8.64:8080/bsc_wlan.php | grep -E "f_wpa.wpapsk1.(.)*";" | sed "s/f_wpa.wpapsk1.value//" | sed "s/";//" | sed "s/="//" Ispravnije bi bilo napisati ovaj naslov na sljedeći način: „Složeni” slučajevi autorizacije. Oni. Stavite riječ “komplicirano” u navodnike. Čine se kompliciranima samo na prvi pogled, kada nije jasno: gdje se događa slanje, koji su nazivi polja, što se točno šalje itd. Ali, zapravo, svi se svode na metode POST ili GET. Da biste razumjeli što se točno šalje, možete spremiti stranicu s obrascem na svoj disk i dodati funkciju za prikaz podataka generiranih za slanje na gumb za slanje. Ili još jednostavnije - kao ja, Wireshark. Ako su podaci točni, ali ne dolazi do provjere autentičnosti, morate kopati u sljedećim smjerovima: Savjeti i trikovi cURL
cURL i primanje kolačića uz CURLOPT_COOKIEJAR
Mislim da je već jasno da cURL ispravno obrađuje kolačiće - pohranjuje ih, koristi kada ih poslužitelj zatraži itd. Ali ponekad kolačiće treba spremiti. Za to postoji opcija pod nazivom CURLOPT_COOKIEJAR, ali nije je uvijek moguće koristiti. Tome je posvećen naš prvi trik. Ponekad, zbog načina na koji je PHP konfiguriran na poslužitelju, opcije kao što su CURLOPT_COOKIEJAR (omogućuje vam spremanje primljenih kolačića u datoteku) i CURLOPT_COOKIEFILE (omogućuje vam korištenje kolačića iz datoteke) nisu nam dostupne. Jer kažu da pomoću ovih opcija možemo ukrasti bilo koju datoteku s njihovog poslužitelja. Evo rješenja za ovaj problem: 1) Ne koristimo CURLOPT_FOLLOWLOCATION Preg_match_all("|Set-Cookie: (.*);|U", $content, $results); $kolačići = implode(";", $rezultati); 4) Postavite ih pomoću curl_setopt($ch, CURLOPT_COOKIE, $cookies); Drugi savjet. Od napadača možemo postati žrtve. Kako bismo izbjegli da postanemo žrtva napada čovjeka u sredini, činimo ovo.
Molimo sve, prestanite postavljati postavku CURLOPT_SSL_VERIFYPEER na false ili 0. Ako vaša PHP instalacija nema ažuran skup korijenskih CA certifikata, preuzmite jedan s web stranice curl i spremite ga na svoj poslužitelj: Skriven od gostiju Zatim postavite stazu u svojoj datoteci php.ini, na primjer u sustavu Windows: Curl.cainfo=c:phpcacert.pem Onemogućavanje CURLOPT_SSL_VERIFYPEER omogućuje napad čovjeka u sredini (MITM), što ne želimo! Pa, zadnji savjet za danas. Jeste li znali da je moguć veliki broj asinkronih curl zahtjeva?
Za ovo možete koristiti curl_multi_init. Pojedinosti i primjer koda u službenoj dokumentaciji Skriven od gostiju Skriven od gostiju Skriven od gostiju (PHP 4 >= 4.0.2, PHP 5, PHP 7) curl_setopt — Postavlja parametar za CURL sesiju cURL ručica dobivena iz curl_init(). Parametar koji se postavlja CURLOPT_XXX. Vrijednost parametra opcije. bool: PRAVI da onemogućite indikator napretka na cURL prijenosima. Komentar: PHP automatski postavlja ovaj parametar na PRAVI, promijenite ga samo u svrhu otklanjanja pogrešaka. Za sljedeće vrijednosti parametra opcije, parametar vrijednosti mora biti tipa cijeli broj: Komentar: Ova je opcija zastarjela jer nikada nije implementirana u cURL i nije radila. Možete koristiti bitovni operator |
(ili) kombinirati nekoliko metoda zajedno. U ovom slučaju, cURL će ispitati poslužitelj za podržane metode autorizacije i odabrati najbolju. CURLAUTH_ANY je alias CURLAUTH_BASIC | CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM. CURLAUTH_ANYSAFE je alias CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM. Bit maska vrijednosti CURLPROTO_*. Ova maska ograničava protokole koje koristi libcurl. To vam omogućuje da libcurl radi s velikim brojem protokola i ograničite rad određenih prijenosa samo na njihov podskup. Prema zadanim postavkama, libcurl koristi sve podržane protokole. Vidi također parametar CURLOPT_REDIR_PROTOKOLI. Valjane vrijednosti protokola: CURLPROTO_HTTP, CURLPROTO_HTTPS, CURLPROTO_FTP, CURLPROTO_FTPS, CURLPROTO_SCP, CURLPROTO_SFTP, CURLPROTO_TELNET, CURLPROTO_LDAP, CURLPROTO_LDAPS, CURLPROTO_DICT, CURLPROTO_FILE, C URLPRO TO_TFTP, CURLPROTO_ALL Za sljedeće vrijednosti parametra opcije, parametar vrijednosti mora biti tipa niz: Umjesto toga korištena je prilagođena metoda zahtjeva "DOBITI" ili "GLAVA" prilikom postavljanja HTTP zahtjeva. Ovo je korisno za upite "IZBRISATI" ili drugi, rjeđi HTTP zahtjevi. Ispravna značenja bile bi riječi poput "DOBITI",
"POST", "SPOJITI" i tako dalje; oni. Nemojte ovdje unositi cijeli red HTTP zahtjeva. Na primjer, indikacija "GET /index.html HTTP/1.0\r\n\r\n" bit će krivo. Komentar: Nemojte koristiti ovu značajku dok niste sigurni da poslužitelj podržava ovu vrstu zahtjeva. Tajna lozinka potrebna za korištenje SSL privatnog ključa određenog parametrom CURLOPT_SSLKEY. Komentar: Budući da ovaj parametar sadrži vrijednu lozinku, ne zaboravite držati ovu PHP skriptu na sigurnom mjestu. Za sljedeće vrijednosti parametra opcije, parametar vrijednosti mora biti niz: Za sljedeće vrijednosti parametra opcije, parametar vrijednosti mora biti ručica toka (vraća, na primjer, funkcija fopen()): Za sljedeće vrijednosti parametra opcije, parametar vrijednosti mora biti važeći naziv funkcije ili zatvaranje: Funkcija povratnog poziva ima pet parametara. Prvi je deskriptor cURL, drugi je ukupan broj bajtova za koji se očekuje da će biti preuzeti s poslužitelja, treći je broj bajtova koji su već preuzeti, četvrti je ukupan broj bajtova za koji se očekuje da će biti poslani na poslužitelj, i peti je broj već poslanih bajtova. Komentar: Funkcija povratnog poziva poziva se samo ako je opcija CURLOPT_BEZ NAPREDKA postaviti na vrijednost NETOČNO. Možete vratiti vrijednost koja nije nula da biste otkazali prijenos. U tom slučaju će se prikazati pogreška CURLE_ABORTED_BY_CALLBACK. Ostala značenja: Povratak PRAVI po uspješnom završetku ili NETOČNO u slučaju greške. Primjer #1 Pokretanje CURL sesije i učitavanje web stranice // kreiraj novi cURL resurs /* http://localhost/upload.php: $ch = curl_init(); $data = array("name" => "Foo" , "file" => "@/home/user/test.png" ); Curl_setopt($ch, CURLOPT_URL, "http://localhost/upload.php"); Curl_exec($ch); Rezultat pokretanja ovog primjera: Niz ( => Foo) Niz ( => Niz ( => test.png => slika/png => /tmp/phpcpjNeQ => 0 => 279)) Komentar: Prosljeđivanje niza na CURLOPT_POSTFIELDS kodira podatke kao multipart/form-data, dok će prosljeđivanje niza kodiranog URL-om kodirati podatke kao aplikacija/x-www-form-urlencoded.4. Preuzmite maksimalnom brzinom
5. Korištenje proxyja za povezivanje
6. Provjera URL-a unosom naslova
7. Dodajte dodatno zaglavlje
8. Otvorite samo zaglavlje odgovora
9. Povežite HTTPS/SSLURL adresu i zanemarite sve pogreške SSL certifikata
10. Povežite se koristeći određeni protokol (SSL/TLS)
11. Učitajte datoteku s FTP poslužitelja
Korištenje cURL-a na mreži
Online CURL je kompaktan alat za izdvajanje online URL-a i dodavanje sljedećih parametara.
Još jedan praktičan primjer: želimo implementirati prikaz opće statistike za nekoliko stranica. Ako koristimo cURL, onda to postaje potpuno trivijalan zadatak: pomoću cURL-a vršimo autentifikaciju na servisu za prikupljanje statistike (ako je potrebno), zatim (opet koristeći cURL naredbe) dobivamo potrebne stranice, analiziramo podatke koji su nam potrebni; postupak se ponavlja za sve naše stranice, zatim dodajemo i prikazujemo konačni rezultat.
Na sustavu Fedora, CentOS ili RHEL:
$target_url- adresa stranice koja nas zanima. Iza adrese stranice možete staviti dvotočku i dodati adresu porta (ako se port razlikuje od standardnog).
Sadržaj .htpasswd datoteke je otprilike ovakav:
HTTP provjera autentičnosti cURL
Ponekad ti podaci nisu dovoljni. Hajdemo shvatiti.
Oni. Niz se šalje poslužitelju iz forme metodom POST. Teoretski, naša prethodna skripta, kojoj smo dodali novi redak, trebala bi raditi. Oni. mora se dogoditi autentifikacija.
Oni. s adresom na koju se prenose podaci, dobro sam pogodio. Ali pokazalo se da je preneseni niz mnogo kompliciraniji.
"; preg_match("|f_wpa.wpapsk1.value(.*)";|", $response_data2, $results3); $results3 = str_replace("f_wpa.wpapsk1.value", "", $results3); $results3 = str_replace("="", "", $results3); $results3 = str_replace("";", "", $results3); echo "Zaporka Wi-Fi mreže: $rezultati3"; ) curl_close($ch); ?>
Sve se to može učiniti pomoću osnovnih cURL metoda, ali neću ulaziti u to. Lekcija je već bila dovoljno duga, ali sam htio pokazati i par trikova s cURL-om.
2) Koristite curl_setopt($ch, CURLOPT_HEADER, 1)
3) Prikupite kolačiće iz zaglavlja ovako:
O cURL-u u naredbenom retku
Drugi dio lekcije cURL također je pripremljen za čitanje na ruskom: "".
Popis parametara
Parametar
Bilješke
CURLOPT_AUTOREFERER
PRAVI za automatsko postavljanje polja Preporuka: u zahtjevima preusmjerenim zaglavljem Mjesto:.
CURLOPT_BINARNI PRIJENOS
PRAVI za vraćanje sirovog odgovora kada se koristi konstanta CURLOPT_POVRATNI PRIJENOS.
Od PHP 5.1.3 ova opcija više nije potrebna: sirovi izlaz uvijek se vraća kada se koristi opcija CURLOPT_POVRATNI PRIJENOS.
CURLOPT_COOKIESESSION
PRAVI da uputi trenutnu sesiju da započne novu "sesiju" kolačića. Ovo će uzrokovati da libcurl zanemari sve kolačiće "sesije" koje je trebao učitati iz prethodne sesije. Prema zadanim postavkama, libcurl uvijek sprema i učitava sve kolačiće, bez obzira jesu li "sesijski" ili ne. "Session" kolačići su kolačići koji ne ističu i moraju postojati samo za trenutnu "session".
CURLOPT_CERTINFO
PRAVI za izlaz informacija SSL certifikata za strujanje STDERR sa sigurnim vezama.
Dodano u cURL 7.19.1. Dostupno počevši od PHP 5.3.2. Za ispravan rad potrebno je omogućiti ovu opciju CURLOPT_VERBOSE.
CURLOPT_CONNECT_ONLY
PRAVI govori knjižnici da izvrši potrebnu proxy provjeru autentičnosti i postavljanje veze, ali ne prenosi podatke. Ova opcija je implementirana za HTTP, SMTP i POP3.
Dodano u 7.15.2. Dostupno od PHP 5.5.0.
CURLOPT_CRLF
PRAVI za pretvaranje Unix završetaka redaka u CRLF.
CURLOPT_DNS_USE_GLOBAL_CACHE
PRAVI za korištenje globalne DNS predmemorije. Ova opcija nije niti sigurna i omogućena je prema zadanim postavkama.
CURLOPT_FAILONERROR
PRAVI za detaljno izvješće o neuspjehu ako je primljeni HTTP kod veći ili jednak 400. Zadano ponašanje vraća stranicu kao normalnu, zanemarujući kod.
CURLOPT_FILETIME
PRAVI kako biste pokušali dobiti datum izmjene udaljenog dokumenta. Ova se vrijednost može dobiti pomoću parametra CURLINFO_FILETIME iz funkcije curl_getinfo().
CURLOPT_FOLLOWLOCATION
PRAVI pratiti bilo koji naslov "Lokacija: "šalje poslužitelj u svom odgovoru (imajte na umu da se to događa rekurzivno, PHP će slijediti sva poslana zaglavlja "Lokacija: ", osim kada je postavljena konstanta CURLOPT_MAXREDIRS).
CURLOPT_FORBID_REUSE
PRAVI za prisilno zatvaranje veze nakon završetka obrade tako da se ne može ponovno koristiti.
CURLOPT_FRESH_CONNECT
PRAVI za prisilno korištenje nove veze umjesto predmemorirane.
CURLOPT_FTP_USE_EPRT
PRAVI za korištenje EPRT (i LPRT) za aktivan FTP prijenos. Koristiti NETOČNO kako biste onemogućili EPRT i LPRT i koristili samo PORT.
CURLOPT_FTP_USE_EPSV
PRAVI za početno testiranje EPSV naredbe tijekom FTP prijenosa. Ako naredba ne uspije, vratit će se na PASV. Instalirajte u NETOČNO da onemogućite EPSV.
CURLOPT_FTP_CREATE_MISSING_DIRS
PRAVI za stvaranje direktorija koji nedostaju ako FTP operacija naiđe na nepostojeći put.
CURLOPT_FTPAPPEND
PRAVI za pisanje udaljene datoteke do kraja, umjesto da je prebrišete preko postojeće datoteke.
CURLOPT_TCP_NODELAY
Trajno određuje treba li opcija TCP_NODELAY biti postavljena ili izbrisana (1 = postavljeno, 0 = izbrisano). Prema zadanim postavkama opcija je poništena.
Dostupno od PHP 5.2.1 za verzije izgrađene s libcurl 7.11.2 ili novijim.
CURLOPT_FTPASCII
Nadimak CURLOPT_PRIJENOS TEKSTA. Koristite ovo umjesto toga.
CURLOPT_FTPLISTONLY
PRAVI da vrati samo popis imena iz FTP imenika.
CURLOPT_HEADER
PRAVI uključiti zaglavlja u izlaz.
CURLINFO_HEADER_OUT
PRAVI za praćenje niza upita ručke.
Dostupno počevši od PHP 5.1.3. Prefiks CURLINFO_ koristi se posebno.
CURLOPT_HTTPGET
PRAVI za resetiranje metode HTTP zahtjeva na GET metodu. Budući da je GET zadana vrijednost, ovaj je parametar potreban samo ako je metoda zahtjeva prethodno promijenjena.
CURLOPT_HTTPPROXYTUNNEL
PRAVI za tunel kroz navedeni HTTP proxy.
CURLOPT_MUTE
PRAVI da potpuno onemogućite poruke funkcije cURL.
Uklonjeno u cURL 7.15.5 (može se koristiti opcija CURLOPT_RETURNTRANSFER)
CURLOPT_NETRC
PRAVI za čitanje ~/.netrc datoteke za prijavu i lozinku za udaljeno mjesto s kojim se uspostavlja veza.
CURLOPT_NITKO
PRAVI da biste isključili tijelo odgovora iz izlaza. Metoda zahtjeva postavljena je na HEAD. Promjena ove postavke u NETOČNO ne mijenja ga natrag u GET.
CURLOPT_BEZ NAPREDKA
CURLOPT_NOSIGNAL
PRAVI da zanemari bilo koju cURL funkciju koja šalje signale PHP procesu. Ova je opcija omogućena prema zadanim postavkama u SAPI-jima s više niti kako bi se omogućilo ispravno funkcioniranje parametara vremenskog ograničenja.
CURLOPT_POST
PRAVI koristiti regularni HTTP POST. Ova POST metoda koristi normalan , koji se obično koristi u HTML obrascima.
CURLOPT_STAVITI
PRAVI za preuzimanje datoteke koristeći HTTP PUT metodu. Korištena datoteka mora biti postavljena pomoću opcija CURLOPT_INFILE I CURLOPT_INFILESIZE.
CURLOPT_POVRATNI PRIJENOS
PRAVI da vrati rezultat prijenosa kao niz iz curl_exec() umjesto izravnog izlaza u preglednik.
CURLOPT_SIGURAN_UPLOAD
PRAVI da biste onemogućili podršku za prefiks @
za preuzete datoteke u CURLOPT_POSTFIELDS, što znači da su vrijednosti proslijeđene sa @
mogu se sigurno prenijeti kao polja. Umjesto prefiksa, možete koristiti opciju CURLFile d.
Dodano u PHP 5.5.0 sa zadanom vrijednošću NETOČNO. U PHP 5.6.0 postalo je jednako prema zadanim postavkama PRAVI.
CURLOPT_SSL_VERIFYPEER
NETOČNO da spriječite cURL da provjerava certifikat glavnog računala. Pomoću parametra mogu se navesti alternativni certifikati koje treba provjeriti CURLOPT_CAINFO ili imenik s certifikatima navedenim parametrom CURLOPT_CAPATH.
Zadano je PRAVI od verzije cURL 7.10. Zadana distribucija instalirana je od cURL verzije 7.10.
CURLOPT_PRIJENOS TEKSTA
PRAVI za korištenje ASCII moda za FTP prijenose. Kada koristite LDAP, podaci se vraćaju u običnom tekstu umjesto u HTML-u. Na Windows sustavima nit STDOUT ne postavlja na binarni način rada.
CURLOPT_UNRESTRICTED_AUTH
PRAVI za nastavak slanja prijave i lozinke tijekom preusmjeravanja (kada koristite CURLOPT_FOLLOWLOCATION), čak i ako se promijeni naziv hosta.
CURLOPT_UPLOAD
PRAVI za pripremu za učitavanje datoteke na poslužitelj.
CURLOPT_VERBOSE
PRAVI za prikaz dodatnih informacija. Zapisuje izlaz u tok STDERR, ili datoteku navedenu parametrom CURLOPT_STDERR.
Parametar
Postavite vrijednost vrijednosti
Bilješke
CURLOPT_BUFFERSIZE
Veličina međuspremnika koji se koristi za svako čitanje. Međutim, nema jamstva da će ovaj zahtjev biti ispunjen.
Dodano u cURL 7.10.
CURLOPT_CLOSEPOLICY
Jedna od konstanti CURLCOTREPOLICY_*.
Uklonjeno u PHP 5.6.0.
CURLOPT_CONNECTTIMEOUT
Broj sekundi čekanja pri pokušaju povezivanja. Upotrijebite 0 za čekanje na neodređeno vrijeme.
CURLOPT_CONNECTTIMEOUT_MS
Broj milisekundi čekanja prilikom pokušaja povezivanja. Upotrijebite 0 za čekanje na neodređeno vrijeme. Ako je libcurl kompajliran korištenjem sistemskog standardnog razlučivača imena, tada će veza i dalje koristiti punu sekundu čekanja kao vremensko ograničenje, s minimalnim dopuštenim vremenskim ograničenjem od 1 sekunde.
Dodano u verziji cURL 7.16.2. Dostupno počevši od PHP 5.2.3.
CURLOPT_DNS_CACHE_TIMEOUT
Broj sekundi koliko su DNS zapisi pohranjeni u memoriji. Prema zadanim postavkama, ovaj je parametar 120 (2 minute).
CURLOPT_FTPSSLAUTH
Metoda FTP provjere autentičnosti (u aktivnom načinu): CURLFTPAUTH_SSL(SSL se prvo provjerava), CURLFTPAUTH_TLS(TLS se prvo provjerava) ili CURLFTPAUTH_DEFAULT(cURL odlučuje sam za sebe).
Dodano u verziji cURL 7.12.2.
CURLOPT_HTTP_VERSION
CURL_HTTP_VERSION_NONE (prema zadanim postavkama, CURL odabire koju verziju će koristiti), CURL_HTTP_VERSION_1_0 (forsirati HTTP/1.0) ili CURL_HTTP_VERSION_1_1 (forsirati HTTP/1.1).
CURLOPT_HTTPAUTH
CURLOPT_INFILESIZE
Očekivana veličina datoteke, u bajtovima, prilikom učitavanja datoteke na udaljeni poslužitelj. Imajte na umu da korištenje ove opcije neće zaustaviti daljnje slanje podataka koji premašuju ovu vrijednost, budući da poslani podaci ovise o rezultatu CURLOPT_READFUNCTION.
CURLOPT_LOW_SPEED_LIMIT
Gornji prag za brzinu prijenosa podataka, u bajtovima po sekundi. Provjera se odvija unutar CURLOPT_LOW_SPEED_TIME sekundi, nakon čega PHP smatra prijenos presporom i prekida ga.
CURLOPT_LOW_SPEED_TIME
Maksimalan broj sekundi tijekom kojeg brzina prijenosa ne smije premašiti CURLOPT_LOW_SPEED_LIMIT, inače će PHP označiti prijenos kao prespor i zaustaviti ga.
CURLOPT_MAX CONNECTS
Maksimalan broj trajnih veza. Kada se dosegne ograničenje, parametar se koristi za određivanje veze koju treba zatvoriti. CURLOPT_CLOSEPOLICY.
CURLOPT_MAXREDIRS
Maksimalni broj prihvaćenih preusmjeravanja. Koristite ovu opciju zajedno s opcijom CURLOPT_FOLLOWLOCATION.
CURLOPT_PORT
Alternativni priključni priključak.
CURLOPT_POSTREDIR
Bitna maska koja sadrži 1 (301 Trajno premješteno), 2 (302 Pronađeno) i 4 (303 Vidi ostalo) za određivanje treba li HTTP POST metoda biti obrađena kada je opcija omogućena CURLOPT_FOLLOWLOCATION ako se dogodila navedena vrsta preusmjeravanja.
Dodano u cURL 7.19.1. Dostupan od PHP 5.3.2.
CURLOPT_PROTOKOLI
CURLOPT_PROXYAUTH
Metode HTTP autorizacije koje se koriste prilikom povezivanja na proxy poslužitelj. Koristite iste maske bitova koje su opisane za parametar CURLOPT_HTTPAUTH. Trenutno su samo CURLAUTH_BASIC i CURLAUTH_NTLM podržani za proxy autorizaciju.
Dodano u verziji cURL 7.10.7.
CURLOPT_PROXYPORT
Broj priključka proxy poslužitelja na koji se uspostavlja veza. Taj se broj također može postaviti pomoću parametra CURLOPT_PROXY.
CURLOPT_PROXYTYPE
Ili CURLPROXY_HTTP (zadano) ili CURLPROXY_SOCKS5.
Dodano u cURL 7.10.
CURLOPT_REDIR_PROTOKOLI
Bit maska vrijednosti CURLPROTO_*. Ova bitna maska ograničava protokole koje koristi libcurl prilikom preusmjeravanja (s omogućenim parametrom CURLOPT_FOLLOWLOCATION). To vam omogućuje da ograničite skup protokola koji se koriste prilikom preusmjeravanja za neke prijenose. Prema zadanim postavkama, libcurl podržava sve protokole osim FILE i SCP. U verzijama prije 7.19.4 preusmjeravanje se koristilo za sve protokole bez iznimke. Vidi također opis parametra CURLOPT_PROTOKOLI za popis konstanti s vrijednostima protokola.
Dodano u verziji cURL 7.19.4.
CURLOPT_RESUME_FROM
Početni pomak prijenosa, u bajtovima.
CURLOPT_SSL_VERIFYHOST
Koristite 1 za provjeru postojanja zajedničkog imena u SSL certifikatu. Upotrijebite 2 da provjerite postoji li zajedničko ime i odgovara li navedenom hostu. U borbenom okruženju, vrijednost ovog parametra trebala bi biti 2 (postavljeno prema zadanim postavkama).
Podrška za vrijednost 1 je uklonjena u cURL 7.28.1
CURLOPT_SSLVERSION
Jedna od konstanti CURL_SSLVERSION_DEFAULT (0),
CURL_SSLVERSION_TLSv1 (1),
CURL_SSLVERSION_SSLv2 (2),
CURL_SSLVERSION_SSLv3 (3),
CURL_SSLVERSION_TLSv1_0 (4),
CURL_SSLVERSION_TLSv1_1(5) ili CURL_SSLVERSION_TLSv1_2 (6).
CURLOPT_TIMECONDITION
Metoda interpretacije parametara CURLOPT_TIMEVALUE. Koristite CURL_TIMECOND_IFMODSINCE za vraćanje stranice samo ako se promijenila od vremena navedenog u parametru CURLOPT_TIMEVALUE. Ako stranica nije izmijenjena, vratit će se naslov "304 nije izmijenjeno", što implicira da je parametar CURLOPT_HEADER instaliran u PRAVI. Koristite CURL_TIMECOND_IFUNMODSINCE za suprotan učinak. Zadana vrijednost je CURL_TIMECOND_IFMODSINCE.
CURLOPT_TIMEOUT
Maksimalni broj sekundi dopušten za izvršavanje cURL funkcija.
CURLOPT_TIMEOUT_MS
Maksimalni broj milisekundi dopušten za izvršavanje cURL funkcija. Ako je libcurl izgrađen korištenjem normalnog razlučivača naziva sustava, tada će ovaj raspon veze i dalje koristiti vremenska ograničenja drugog zaokruživanja, s minimalnim dozvoljenim vremenskim ograničenjem od jedne sekunde.
Dodano u verziji cURL 7.16.2. Dostupno počevši od PHP 5.2.3.
CURLOPT_TIMEVALUE
Broj sekundi od 1. siječnja 1970. Ovo vrijeme će se koristiti za parametar CURLOPT_TIMECONDITION. Prema zadanim postavkama koristi se parametar CURL_TIMECOND_IFMODSINCE.
CURLOPT_MAX_RECV_SPEED_LARGE
Ako brzina preuzimanja prijeđe ovu vrijednost (određenu u bajtovima po sekundi) u prosjeku tijekom cijelog prijenosa, preuzimanje će se pauzirati kako bi se održala prosječna brzina manja ili jednaka ovom parametru. Prema zadanim postavkama, brzina nije ograničena.
CURLOPT_MAX_SEND_SPEED_LARGE
Ako učitavanje na poslužitelj prekorači ovu vrijednost (određenu u bajtovima po sekundi) u prosjeku tijekom cijelog prijenosa, učitavanje će se pauzirati kako bi se održala prosječna brzina manja ili jednaka ovom parametru. Prema zadanim postavkama, brzina nije ograničena.
Dodano u verziji cURL 7.15.5. Dostupno počevši od PHP 5.4.0.
CURLOPT_SSH_AUTH_TYPES
Bitmaska koja se sastoji od jedne ili više konstanti: CURLSSH_AUTH_PUBLICKEY,
CURLSSH_AUTH_PASSWORD,
CURLSSH_AUTH_HOST,
CURLSSH_AUTH_TIPKOVNICA. Instalirati CURLSSH_AUTH_ANY kako bi libcurl samostalno izabrao jedan od njih.
Dodano u cURL 7.16.1.
CURLOPT_IPRESOLVE
Aplikaciji omogućuje odabir vrste IP adrese s kojom se određuje naziv glavnog računala. Ovo je neophodno ako koristite naziv glavnog računala koji je izveden iz više od jedne verzije IP adrese. Moguće vrijednosti mogu biti CURL_IPRESOLVE_WHATEVER,
CURL_IPRESOLVE_V4,
CURL_IPRESOLVE_V6, i prema zadanim postavkama CURL_IPRESOLVE_WHATEVER.
Dodano u cURL 7.10.8.
Parametar
Postavite vrijednost vrijednosti
Bilješke
CURLOPT_CAINFO
Naziv datoteke koja sadrži jedan ili više certifikata prema kojima će se čvorovi provjeravati. Ovaj parametar ima smisla samo kada se koristi zajedno s CURLOPT_SSL_VERIFYPEER.
Zahtijeva apsolutni put.
CURLOPT_CAPATH
Imenik koji sadrži nekoliko CA certifikata. Koristite ovu opciju u kombinaciji s CURLOPT_SSL_VERIFYPEER.
CURLOPT_COOKIE
Sadržaj zaglavlja "Kolačić:", koji se koristi u HTTP zahtjevu. Imajte na umu da su višestruki kolačići odvojeni točkom i zarezom nakon čega slijedi razmak (na primjer, " voće=jabuka; boja=crvena")
CURLOPT_COOKIEFILE
Naziv datoteke koja sadrži kolačiće. Ova datoteka mora biti u Netscape formatu ili samo HTTP zaglavlja upisana u datoteku. Ako se kao naziv datoteke proslijedi prazan niz, kolačići neće biti spremljeni, ali će njihova obrada i dalje biti omogućena.
CURLOPT_COOKIEJAR
Naziv datoteke u koju će se spremiti svi interni kolačići trenutnog prijenosa nakon zatvaranja kontrole, na primjer nakon poziva curl_close.
CURLOPT_CUSTOMREQUEST
CURLOPT_EGDSOCKET
Kao CURLOPT_SLUČAJNA_DATOTEKA, osim što je naziv datoteke postavljen na utičnicu Entropy Gathering Daemon.
CURLOPT_KODIRANJE
Sadržaj zaglavlja "Prihvati kodiranje: ". To omogućuje dekodiranje zahtjeva. Podržana kodiranja su "identitet",
"ispuhati" I "gzip". Ako se proslijedi prazan niz, ""
, šalje se zaglavlje koje sadrži sve podržane vrste kodiranja.
Dodano u cURL 7.10.
CURLOPT_FTPPORT
Vrijednost koja će se koristiti za određivanje IP adrese za FTP "PORT" naredbu. Naredba "PORT" govori poslužitelju na koju se IP adresu treba spojiti. To može biti IP adresa, naziv hosta, naziv mrežnog sučelja (pod Unixom) ili jednostavno "-" za korištenje zadane IP adrese sustava.
CURLOPT_SUČELJE
Naziv mrežnog sučelja za korištenje. Može biti ime sučelja, IP adresa ili ime glavnog računala.
CURLOPT_KEYPASSWD
Za korištenje privatnog ključa potrebna je lozinka CURLOPT_SSLKEY ili CURLOPT_SSH_PRIVATE_KEYFILE.
Dodano u cURL 7.16.1.
CURLOPT_KRB4LEVEL
Sigurnosna razina KRB4 (Kerberos 4). Bilo koja od sljedećih vrijednosti (od najslabije do najjače) je točna: "čisto",
"sef",
"povjerljivo",
"privatna".. Ako se navedeni niz razlikuje od zadanih vrijednosti, vrijednost će se koristiti "privatna". Postavljanje ove opcije na NULL potpuno će onemogućiti sigurnost KRB4. U ovom trenutku KRB4 sigurnost radi samo s FTP transakcijama.
CURLOPT_POSTFIELDS
Svi podaci koji se prenose u HTTP POST zahtjevu. Za prijenos datoteke navedite prije naziva datoteke @
, a također koristite puni put do datoteke. Vrsta datoteke također se može odrediti pomoću formata " ;tip=mimetip" nakon naziva datoteke. Ovaj parametar može se proslijediti kao url kodirani niz, poput " para1=val1¶2=val2&...", i u obliku niza, čiji će ključevi biti nazivi polja, a vrijednosti će biti njihov sadržaj. Ako je vrijednost niz, zaglavlje Vrsta sadržaja bit će postavljeno na multipart/form-data.
Počevši od PHP 5.2.0, prilikom prijenosa datoteka s prefiksom @
, vrijednost mora biti niz.
Od PHP 5.5.0, prefiks @
je zastario i datoteke se mogu slati pomoću CURLFile. Prefiks @
može se onemogućiti da se dopuste vrijednosti koje počinju s @
postavljanjem opcije CURLOPT_SIGURAN_UPLOAD u smislu PRAVI.
CURLOPT_PROXY
HTTP proxy preko kojeg će se usmjeravati zahtjevi.
CURLOPT_PROXYUSERPWD
Prijava i lozinka upisane u obrazac ":"
, koristi se pri povezivanju putem proxyja.
CURLOPT_SLUČAJNA_DATOTEKA
Naziv datoteke koja se koristi za pokretanje generatora slučajnih brojeva za SSL.
CURLOPT_RANGE
Raspon podataka za preuzimanje, u formatu "X-Y", a X ili Y se mogu izostaviti. HTTP protokol također podržava prijenos višestrukih raspona odvojenih zarezima, navedeni su u formatu "X-Y, N-M".
CURLOPT_REFERER
Sadržaj zaglavlja "Preporuka:", koji će se koristiti u HTTP zahtjevu.
CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
Niz koji sadrži 32 heksadecimalne znamenke. Niz mora biti MD5 kontrolni zbroj javnog ključa udaljenog računala, a libcurl će resetirati vezu s udaljenim hostom sve dok kontrolni zbroj ne odgovara javnom ključu. Ova opcija je samo za prijenos podataka koristeći SCP i SFTP.
Dodano u cURL 7.17.1.
CURLOPT_SSH_PUBLIC_KEYFILE
Naziv datoteke za vaš javni ključ. Ako nije navedeno, libcurl zadano postavlja datoteku $HOME/.ssh/id_dsa.pub ako je HOME varijabla okruženja postavljena i datoteku "id_dsa.pub" u trenutnom direktoriju ako HOME varijabla okruženja nije postavljena.
Dodano u cURL 7.16.1.
CURLOPT_SSH_PRIVATE_KEYFILE
Naziv datoteke za vaš privatni ključ. Ako nije navedeno, libcurl zadano postavlja datoteku $HOME/.ssh/id_dsa ako je varijabla okoline HOME postavljena i datoteku "id_dsa" u trenutnom direktoriju ako varijabla okoline HOME nije postavljena. Ako je datoteka zaštićena lozinkom, postavite lozinku koristeći CURLOPT_KEYPASSWD.
Dodano u cURL 7.16.1.
CURLOPT_SSL_CIPHER_LIST
Popis šifri koje se koriste u SSL prijenosima. Na primjer, RC4-SHA I TLSv1 valjani su popisi šifri.
CURLOPT_SSLCERT
Naziv datoteke s ispravno formatiranim PEM certifikatom.
CURLOPT_SSLCERTPASSWD
Za korištenje certifikata potrebna je lozinka CURLOPT_SSLCERT.
CURLOPT_SSLCERTTYPE
Format potvrde. Podržani formati "PEM"(zadano), "DER" I "ENG".
Dodano u cURL verziji 7.9.3.
CURLOPT_SSLENGINE
ID mehanizma za šifriranje za SSL privatni ključ naveden u parametru CURLOPT_SSLKEY.
CURLOPT_SSLENGINE_DEFAULT
Identifikator mehanizma šifriranja koji se koristi za asimetrične operacije šifriranja.
CURLOPT_SSLKEY
Naziv datoteke SSL privatnog ključa.
CURLOPT_SSLKEYPASSWD
CURLOPT_SSLKEYTYPE
Vrsta SSL privatnog ključa navedena u parametru CURLOPT_SSLKEY. Podržane su sljedeće vrste ključeva: "PEM"(zadano), "DER" I "ENG".
CURLOPT_URL
URL za preuzimanje. Ovaj se parametar također može postaviti prilikom pokretanja sesije pomoću curl_init().
CURLOPT_USERAGENT
Sadržaj zaglavlja "Korisnički agent: ", poslan u HTTP zahtjevu.
CURLOPT_USERPWD
Prijava i lozinka korišteni tijekom povezivanja, navedeni u formatu ":"
.
Parametar
Postavite vrijednost vrijednosti
Bilješke
CURLOPT_HTTP200ALIASES
Niz HTTP 200 odgovora koji će se tretirati kao ispravni, a ne kao pogrešni.
Dodano u verziji cURL 7.10.3.
CURLOPT_HTTPHEADER
Niz postavljenih HTTP zaglavlja, u formatu array("Content-type: text/plain", "Content-length: 100")
CURLOPT_POSTQUOTE
Niz FTP naredbi koje se izvršavaju na poslužitelju nakon završetka FTP zahtjeva.
CURLOPT_QUOTE
Niz FTP naredbi koje se izvršavaju na poslužitelju prije podnošenja FTP zahtjeva.
Parametar
Postavite vrijednost vrijednosti
CURLOPT_DATOTEKA
Datoteka u koju će biti zapisan rezultat prijenosa. Zadani izlazni tok STDOUT(prozor preglednika).
CURLOPT_INFILE
Datoteka iz koje se podaci trebaju čitati prilikom učitavanja na poslužitelj.
CURLOPT_STDERR
Alternativna izlazna datoteka pogreške koja se koristi umjesto toka pogrešaka STDERR.
CURLOPT_WRITEHEADER
Datoteka u koju će biti zapisana zaglavlja trenutne operacije.
Parametar
Postavite vrijednost vrijednosti
CURLOPT_HEADERFUNCTION
Funkcija povratnog poziva uzima dva parametra. Prvi parametar je cURL handle, drugi parametar je niz koji sadrži zaglavlja koja treba napisati. Zaglavlja moraju biti napisana pomoću ove funkcije povratnog poziva. Treba vratiti broj zapisanih bajtova.
CURLOPT_PASSWDFUNCTION
Funkcija povratnog poziva uzima tri parametra. Prvi parametar je cURL handle, drugi parametar je niz upita za lozinku, a treći parametar je maksimalna duljina lozinke. Trebalo bi vratiti niz koji sadrži lozinku.
CURLOPT_PROGRESSFUNCTION
CURLOPT_READFUNCTION
Funkcija povratnog poziva uzima tri parametra. Prvi parametar je cURL handle, drugi parametar je resurs toka proslijeđen cURL-u putem opcije CURLOPT_INFILE, a treći parametar je najveća dopuštena količina podataka za čitanje. Funkcija povratnog poziva mora vratiti niz duljine koja nije veća od tražene količine podataka, obično čitanjem iz prenesenog izvora strujanja. Trebalo bi vratiti prazan niz kao signal za kraj datoteke EOF.
CURLOPT_WRITEFUNCTION
Funkcija povratnog poziva uzima dva parametra. Prvi parametar je cURL handle, a drugi parametar je niz koji sadrži podatke koje treba upisati. Podaci se moraju spremiti pomoću ove funkcije. Mora vratiti točan broj zapisanih bajtova, inače će preuzimanje biti prekinuto uz pogrešku.
Povratne vrijednosti
Popis promjena
Verzija
Opis
5.6.0
Opcija CURL_SAFE_UPLOAD sada ima zadanu vrijednost od PRAVI.
5.6.0
Uklonjena opcija CURLOPT_CLOSEPOLICY i s njim povezana značenja.
5.5.0
Resurs cURL dodaje se kao prvi argument funkciji povratnog poziva CURLOPT_PROGRESSFUNCTION.
5.5.0
Dodana opcija CURLOPT_DIJELJENJE.
5.3.0
Dodana opcija CURLOPT_PROGRESSFUNCTION.
5.2.10
Dodane opcije CURLOPT_PROTOKOLI I CURLOPT_REDIR_PROTOKOLI.
5.1.0
Dodane opcije CURLOPT_AUTOREFERER,
CURLOPT_BINARNI PRIJENOS,
CURLOPT_FTPSSLAUTH,
CURLOPT_PROXYAUTH I CURLOPT_TIMECONDITION.
5.0.0
Dodane opcije CURLOPT_FTP_USE_EPRT,
CURLOPT_NOSIGNAL,
CURLOPT_UNRESTRICTED_AUTH,
CURLOPT_BUFFERSIZE,
CURLOPT_HTTPAUTH,
CURLOPT_PROXYPORT,
CURLOPT_PROXYTYPE,
CURLOPT_SSLCERTTYPE I CURLOPT_HTTP200ALIASES.
Primjeri
$ch = curl_init();
print_r($_POST);
print_r($_FILES);
*/
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $podaci);
?>
Bilješke