curl-ის კონვერტაცია PHP-ში

curl2code გარდაქმნის curl ბრძანებებს PHP კოდად cURL გაფართოების ან Guzzle ბიბლიოთეკის გამოყენებით. კონვერტაცია სრულდება თქვენს ბრაუზერში WebAssembly-ის მეშვეობით სრული კონფიდენციალურობისთვის. მსგავსი სერვერული ენებისთვის ნახეთ ჩვენი curl to Python კონვერტორი ან curl to Ruby. ქვემოთ მოცემულია პრაქტიკული PHP მაგალითები.

როგორ დავაკოპიროთ curl ბრაუზერიდან

  1. 1

    გახსენით DevTools

    დააჭირეთ F12-ს ან Ctrl+Shift+I ბრაუზერის დეველოპერის ხელსაწყოების გასახსნელად.

  2. 2

    გადადით Network ტაბზე

    დააწკაპუნეთ Network ტაბს და შეასრულეთ მოქმედება, რომელიც იწვევს HTTP მოთხოვნას.

  3. 3

    დააკოპირეთ როგორც cURL

    დააწკაპუნეთ მოთხოვნას მარჯვენა ღილაკით → CopyCopy 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-ის კონვერტაცია სხვა ენებზე