curl-ის კონვერტაცია PHP-ში
curl2code გარდაქმნის curl ბრძანებებს PHP კოდად cURL გაფართოების ან Guzzle ბიბლიოთეკის გამოყენებით. კონვერტაცია სრულდება თქვენს ბრაუზერში WebAssembly-ის მეშვეობით სრული კონფიდენციალურობისთვის. მსგავსი სერვერული ენებისთვის ნახეთ ჩვენი curl to Python კონვერტორი ან curl to Ruby. ქვემოთ მოცემულია პრაქტიკული PHP მაგალითები.
როგორ დავაკოპიროთ curl ბრაუზერიდან
- 1
გახსენით DevTools
დააჭირეთ F12-ს ან Ctrl+Shift+I ბრაუზერის დეველოპერის ხელსაწყოების გასახსნელად.
- 2
გადადით Network ტაბზე
დააწკაპუნეთ Network ტაბს და შეასრულეთ მოქმედება, რომელიც იწვევს HTTP მოთხოვნას.
- 3
დააკოპირეთ როგორც cURL
დააწკაპუნეთ მოთხოვნას მარჯვენა ღილაკით → Copy → Copy as cURL. შემდეგ ჩასვით ზემოთ.
ხშირად დასმული კითხვები
რა არის PHP cURL?
PHP-ს curl გაფართოება არის C libcurl ბიბლიოთეკის გარსი, რომელიც უზრუნველყოფს HTTP კლიენტის მძლავრ შესაძლებლობებს. ის მხარს უჭერს თითქმის ყველა პროტოკოლს და ფუნქციას, რასაც თავად curl. მოახდინეთ ინიციალიზაცია curl_init()-ით, დააყენეთ ოფციები curl_setopt()-ით და შეასრულეთ curl_exec()-ით. curl2code ასევე მხარს უჭერს Guzzle-ს და Requests-ს, როგორც ალტერნატივებს.
PHP cURL vs Guzzle vs Requests — რომელი გამოვიყენო?
PHP cURL არის დაბალი დონის და ჩაშენებული — Composer არ არის საჭირო. Guzzle არის ყველაზე პოპულარული PHP HTTP კლიენტი PSR-7 მხარდაჭერით, middleware-ით და ასინქრონული მოთხოვნებით. Requests გთავაზობთ მარტივ API-ს სწრაფი დავალებებისთვის. გამოიყენეთ Guzzle თანამედროვე პროექტებისთვის, PHP cURL კი მინიმალისტური გარემოსთვის. სხვა ენებში მსგავსი ვარიანტებისთვის იხილეთ curl to Python.
როგორ ვმართოთ ავტორიზაცია PHP-ში?
cURL-ით: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). Basic ავტორიზაციისთვის: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). Guzzle იყენებს 'auth' => ['user', 'pass'] ან 'headers' => ['Authorization' => 'Bearer token']. curl2code ავტომატურად ამუშავებს -u და Bearer ფლაგებს.
როგორ გავაგზავნოთ multipart form data PHP-ში?
cURL-ით: გადაეცით მასივი CURLOPT_POSTFIELDS-ს, რომელიც შეიცავს new CURLFile('path')-ს ფაილებისთვის. Guzzle იყენებს 'multipart' ოფციას ველების/ფაილების მასივებით. curl2code აკონვერტირებს -F ფლაგებს სწორ ფორმატში თითოეული PHP ბიბლიოთეკისთვის.
როგორ ვმართოთ HTTP შეცდომები PHP-ში?
cURL-ით: შეამოწმეთ curl_errno($ch) ტრანსპორტის შეცდომებისთვის და დაამუშავეთ პასუხის სტატუსი ხელით. Guzzle წარმოქმნის RequestException-ს შეცდომებისას — დაიჭირეთ ClientException (4xx), ServerException (5xx) და ConnectException (ქსელი). ყოველთვის გამოიძახეთ curl_close($ch) რესურსების გასათავისუფლებლად.
როგორ გავაკეთოთ ასინქრონული HTTP მოთხოვნები PHP-ში?
Guzzle მხარს უჭერს ასინქრონულობას $client->requestAsync('GET', $url)-ის საშუალებით, რომელიც აბრუნებს Promise-ს. გამოიყენეთ Promise\Utils::all() პარალელური მოთხოვნებისთვის. cURL-ით გამოიყენეთ curl_multi_* ფუნქციები პარალელური შესრულებისთვის. ნამდვილი ასინქრონული PHP-სთვის განიხილეთ ReactPHP ან Amp ფრეიმვორკები თავიანთი HTTP კლიენტებით.
როგორ დავაყენოთ თაიმაუტები PHP-ში?
cURL-ით: CURLOPT_CONNECTTIMEOUT კავშირისთვის და CURLOPT_TIMEOUT მოთხოვნის საერთო დროისთვის. Guzzle იღებს 'connect_timeout' და 'timeout' პარამეტრებს წამებში. ეს პირდაპირ შეესაბამება curl-ის --connect-timeout და --max-time ოფციებს.
როგორ გამოვიყენოთ პროქსი PHP-ში?
cURL-ით: curl_setopt($ch, CURLOPT_PROXY, 'http://proxy:8080'). SOCKS5-ისთვის: დაამატეთ CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5. Guzzle იყენებს 'proxy' => 'http://proxy:8080' ოფციას. curl2code აკონვერტირებს -x და --proxy ფლაგებს შესაბამის PHP კოდში.
როგორ გავაგზავნოთ POST მოთხოვნა JSON ტანით PHP ენაზე?
გადაიყვანეთ curl POST ბრძანება, როგორიცაა curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, PHP ენაზე curl2code გამოყენებით. გენერირებული კოდი იყენებს curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)). curl2code ავტომატურად ამოიცნობს -d/--data ფლაგებს JSON კონტენტით და ადგენს შესაბამის Content-Type ჰედერს cURL კოდში.
როგორ დავამატოთ Bearer token ავტორიზაცია PHP ენაზე?
მიაწოდეთ curl -H "Authorization: Bearer YOUR_TOKEN" URL ბრძანება curl2code ხელსაწყოს და ის დააგენერირებს cURL კოდს ავტორიზაციის ჰედერით: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer TOKEN']). curl2code ამოიცნობს Bearer ტოკენებს როგორც -H "Authorization: Bearer ...", ისე --oauth2-bearer ფლაგებიდან. Basic auth-ისთვის გამოიყენეთ -u user:pass.
როგორ განვსაზღვროთ Content-Type ჰედერი PHP ენაზე?
curl2code გადაიყვანს curl -H "Content-Type: application/json" URL ბრძანებას cURL კოდში შესაბამისი ჰედერით: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']). -d მონაცემებისთვის curl სტანდარტულად იყენებს application/x-www-form-urlencoded; -F ფორმის ატვირთვისთვის კი — multipart/form-data. curl2code თითოეულ მათგანს შესაბამის cURL API-სთან აკავშირებს.
PHP cURL extension თუ Guzzle — რომელი გამოვიყენო?
PHP cURL extension (curl_* ფუნქციები) ჩაშენებულია PHP ენაში და არ საჭიროებს დამატებით დამოკიდებულებებს — იდეალურია მარტივი მოთხოვნებისთვის. Guzzle არის სრულფასოვანი HTTP კლიენტი middleware-ის, ასინქრონული მოთხოვნების, PSR-7/PSR-18 მხარდაჭერისა და ავტომატური განმეორების ფუნქციებით. გამოიყენეთ cURL მსუბუქი სკრიპტებისთვის, ხოლო Guzzle რთული აპლიკაციებისთვის. curl2code აგენერირებს კოდს ორივესთვის — აირჩიეთ სასურველი ვარიანტი ენების ჩამონათვალში.
სასარგებლო ბმულები
curl სახელმძღვანელოები
curl შეცდომის კოდები
მოძებნეთ ნებისმიერი curl გასვლის კოდი — მიზეზები, გამოსწორებები და გამართვის რჩევები.
ფაილების ჩამოტვირთვა curl-ით
შეინახეთ ფაილები -o, -O პარამეტრებით, მიჰყევით გადამისამართებებს, განაახლეთ ჩამოტვირთვები და სხვა.
SSL, TLS და პროქსი
სერტიფიკატების, TLS ვერსიების, HTTP/SOCKS პროქსების და მორგებული DNS-ის კონფიგურაცია.