Cu libcurl, folosi curl_formadd() funcția de a construi formular înainte de a trimite-l în mod obișnuit. Vezi libcurl documentația pentru mai multe informații.
Pentru fișiere mari, luați în considerare adăugarea de parametri pentru a arăta progresul încărcării:
Prima cerere salvează cookie de sesiune (care este furnizat la conectare cu succes) în "cap" fișier. De acum puteți utiliza cookie pentru a vă autentifica la orice parte a site-ului care de obicei acces după ce vă autentificați cu un browser.
Dacă ești leneș, puteți obține google-chrome pentru a face toate lucrările pentru tine.
Faceți clic dreapta pe formularul pe care doriți să trimiteți și selectați Verificați. Aceasta va deschide DevTools panou.
Selectați Rețea tab în devtools și bifați Păstra log selectare.
Trimiteți formularul și localizați intrarea cu metoda POST (click-dreapta pe orice titlu de coloană și asigurați-vă că **** Metode este verificat).
Faceți clic dreapta pe linie, cu POST, și selectați Copia > Copie ca cURL.
Chrome va copia toate solicitarea de date în cURL sintaxă.
Chrome foloseste --date 'param1=alo¶m2=lume' care puteți face mai ușor de citit folosind un singur -d " sau "- F per parametru, în funcție de ce tip de cerere POST doriți să trimiteți, care poate fi application/x-www-form-urlencoded " sau " multipart/form-data în mod corespunzător.
Acest lucru va fi POST-ed ca application/x-www-form-urlencoded (folosit pentru majoritatea formelor pe care don't conține încărcări de fișiere):
Pentru o multipart/form-data POST folosi -F (de obicei folosit cu formele care conțin încărcări de fișiere, sau în cazul în care ordinea câmpurilor este important, sau în cazul în care mai multe câmpuri cu același nume sunt necesare):
User-Agent antet nu este în mod normal necesară, dar nu'am aruncat-o în doar în cazul în. Puteți evita să setați user agent pe fiecare cerere, prin crearea ~/.curlrc fișierul care conține, de exemplu, User-Agent: "Opera/2.2"
Cu domeniile:
Cu câmpurile specificate în mod individual:
Mai multe părți:
Multipart cu câmpuri și un nume de fișier:
Fără date:
Pentru mai multe informații, a se vedea cURL manual. De cURL tutorial pe emularea un browser web este de ajutor.
Cu libcurl, folosi
curl_formadd()
funcția de a construi formular înainte de a trimite-l în mod obișnuit. Vezi libcurl documentația pentru mai multe informații.Pentru fișiere mari, luați în considerare adăugarea de parametri pentru a arăta progresul încărcării:
-O ieșire
este necesar, în caz contrar, bara de progres nu va apărea.Pentru un Odihnitor HTTP POST care conține XML:
sau pentru JSON, foloseste asta:
Acest lucru va citi conținutul fișierului nume
filename.txt
și trimite-l ca o cerere post.Date de la intrarea standard cu
-d @-
Exemplu:
Ieșire:
este un exemplu se găsește în Curl Exemplu Manuală.
Utiliza %26 pentru ampersand deși dacă cele de mai sus nu't de lucru:
Dacă doriți să vă conectați la un site, face următoarele:
Prima cerere salvează cookie de sesiune (care este furnizat la conectare cu succes) în "cap" fișier. De acum puteți utiliza cookie pentru a vă autentifica la orice parte a site-ului care de obicei acces după ce vă autentificați cu un browser.
și există mult mai multe opțiuni, verificați `curl --help pentru mai multe informații.
Dacă ești leneș, puteți obține google-chrome pentru a face toate lucrările pentru tine.
Chrome va copia toate solicitarea de date în cURL sintaxă.
Chrome foloseste
--date 'param1=alo¶m2=lume'
care puteți face mai ușor de citit folosind un singur-d " sau "- F
per parametru, în funcție de ce tip de cerere POST doriți să trimiteți, care poate fiapplication/x-www-form-urlencoded " sau " multipart/form-data
în mod corespunzător.Acest lucru va fi POST-ed ca
application/x-www-form-urlencoded
(folosit pentru majoritatea formelor pe care don't conține încărcări de fișiere):Pentru o
multipart/form-data
POST folosi-F
(de obicei folosit cu formele care conțin încărcări de fișiere, sau în cazul în care ordinea câmpurilor este important, sau în cazul în care mai multe câmpuri cu același nume sunt necesare):User-Agent
antet nu este în mod normal necesară, dar nu'am aruncat-o în doar în cazul în. Puteți evita să setați user agent pe fiecare cerere, prin crearea~/.curlrc
fișierul care conține, de exemplu,User-Agent: "Opera/2.2"