Μετατροπή curl σε PHP

Το curl2code μετατρέπει εντολές curl σε κώδικα PHP χρησιμοποιώντας την επέκταση cURL ή τη βιβλιοθήκη Guzzle. Η μετατροπή εκτελείται στο πρόγραμμα περιήγησής σας μέσω WebAssembly για πλήρη ιδιωτικότητα. Για παρόμοιες γλώσσες στην πλευρά του διακομιστή, δείτε τον μετατροπέα curl σε Python ή τον μετατροπέα curl σε Ruby. Παρακάτω υπάρχουν πρακτικά παραδείγματα PHP.

Πώς να αντιγράψετε το curl από το πρόγραμμα περιήγησής σας

  1. 1

    Ανοίξτε τα DevTools

    Πατήστε F12 ή Ctrl+Shift+I για να ανοίξετε τα εργαλεία προγραμματιστή του προγράμματος περιήγησης.

  2. 2

    Μεταβείτε στην καρτέλα Network

    Κάντε κλικ στην καρτέλα Network και εκτελέστε την ενέργεια που ενεργοποιεί το αίτημα HTTP.

  3. 3

    Αντιγραφή ως cURL

    Κάντε δεξί κλικ στο αίτημα → CopyCopy as cURL. Στη συνέχεια, επικολλήστε το παραπάνω.

Συχνές Ερωτήσεις

Τι είναι το PHP cURL;

Η επέκταση curl της PHP είναι ένας wrapper γύρω από τη βιβλιοθήκη C libcurl, παρέχοντας ισχυρές δυνατότητες πελάτη HTTP. Υποστηρίζει σχεδόν όλα τα πρωτόκολλα και τα χαρακτηριστικά που υποστηρίζει το ίδιο το curl. Αρχικοποιήστε με curl_init(), ορίστε επιλογές με curl_setopt() και εκτελέστε με curl_exec(). Το curl2code υποστηρίζει επίσης τις Guzzle και Requests ως εναλλακτικές λύσεις.

PHP cURL vs Guzzle vs Requests — ποιο πρέπει να χρησιμοποιήσω;

Το PHP cURL είναι χαμηλού επιπέδου και ενσωματωμένο — δεν απαιτείται Composer. Η Guzzle είναι ο πιο δημοφιλής HTTP πελάτης PHP με υποστήριξη PSR-7, middleware και ασύγχρονα αιτήματα. Η Requests προσφέρει ένα απλό API για γρήγορες εργασίες. Χρησιμοποιήστε τη Guzzle για σύγχρονα έργα, το PHP cURL για ελάχιστες ρυθμίσεις. Για παρόμοιες επιλογές σε άλλες γλώσσες, δείτε το curl σε Python.

Πώς γίνεται ο χειρισμός της ταυτοποίησης στην PHP;

Με το cURL: curl_setopt($ch, CURLOPT_HTTPHEADER, ['Authorization: Bearer token']). Για Basic auth: curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'). Η Guzzle χρησιμοποιεί 'auth' => ['user', 'pass'] ή 'headers' => ['Authorization' => 'Bearer token']. Το curl2code χειρίζεται αυτόματα τις σημαίες -u και Bearer.

Πώς στέλνω δεδομένα φόρμας multipart στην 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, εξετάστε τα frameworks ReactPHP ή Amp με τους δικούς τους HTTP πελάτες.

Πώς ορίζονται τα χρονικά όρια στην PHP;

Με το cURL: CURLOPT_CONNECTTIMEOUT για τη σύνδεση και CURLOPT_TIMEOUT για τον συνολικό χρόνο αιτήματος. Η Guzzle δέχεται 'connect_timeout' και 'timeout' σε δευτερόλεπτα. Αυτά αντιστοιχίζονται απευθείας στις επιλογές --connect-timeout και --max-time του curl.

Πώς χρησιμοποιείται ένας διακομιστής μεσολάβησης (proxy) στην 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 flags με 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 tokens τόσο από τα -H "Authorization: Bearer ..." όσο και από τα --oauth2-bearer flags. Για 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 vs Guzzle — ποιο πρέπει να χρησιμοποιήσω;

Η PHP cURL extension (συναρτήσεις curl_*) είναι ενσωματωμένη στην PHP και δεν απαιτεί επιπλέον εξαρτήσεις — ιδανική για απλά αιτήματα ή όταν θέλετε ελάχιστη επιβάρυνση. Το Guzzle είναι ένας πλήρης HTTP client με middleware, ασύγχρονα αιτήματα, υποστήριξη PSR-7/PSR-18 και αυτόματες επαναλήψεις. Χρησιμοποιήστε το cURL για ελαφριά scripts, το Guzzle για σύνθετες εφαρμογές. Το curl2code δημιουργεί κώδικα και για τα δύο — επιλέξτε την παραλλαγή που προτιμάτε στο αναπτυσσόμενο μενού γλωσσών.

Χρήσιμοι σύνδεσμοι

Οδηγοί curl

Μετατροπή curl σε άλλες γλώσσες