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

curl2code გარდაქმნის curl ბრძანებებს JavaScript კოდად ნატიური fetch API-ს გამოყენებით. ყველაფერი მუშაობს ლოკალურად თქვენს ბრაუზერში WebAssembly-ის მეშვეობით სრული კონფიდენციალურობისთვის. თუ გჭირდებათ სერვერული Node.js კოდი, სცადეთ ჩვენი curl to Node.js კონვერტორი. ტიპების უსაფრთხოებისთვის ნახეთ curl to TypeScript კონვერტორი. ქვემოთ მოცემულია პრაქტიკული მაგალითები გავრცელებული HTTP პატერნებისთვის.

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

  1. 1

    გახსენით DevTools

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

  2. 2

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

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

  3. 3

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

    დააწკაპუნეთ მოთხოვნას მარჯვენა ღილაკით → CopyCopy as cURL. შემდეგ ჩასვით ზემოთ.

ხშირად დასმული კითხვები

რა არის Fetch API?

Fetch API არის თანამედროვე, promise-ზე დაფუძნებული ინტერფეისი, რომელიც ჩაშენებულია ყველა ბრაუზერში HTTP მოთხოვნების გასაკეთებლად. ის ანაცვლებს ძველ XMLHttpRequest-ს უფრო სუფთა და მძლავრი API-ით. Fetch მხარს უჭერს სტრიმინგს, request/response ობიექტებს, CORS-ს და ბუნებრივად ინტეგრირდება async/await-თან. ინსტალაცია არ არის საჭირო — ის ხელმისაწვდომია გლობალურად. curl2code იყენებს Fetch-ს, როგორც ნაგულისხმევ გამოსავალს JavaScript კონვერტაციისთვის.

Fetch vs XMLHttpRequest vs jQuery.ajax — რომელი გამოვიყენო?

Fetch არის თანამედროვე სტანდარტი — გამოიყენეთ ის ახალი პროექტებისთვის. XMLHttpRequest მოძველებულია, მაგრამ მაინც მუშაობს ყველგან და მხარს უჭერს progress event-ებს. jQuery.ajax მოსახერხებელია, თუ jQuery უკვე არის თქვენს პროექტში. სერვერის მხარეს JavaScript-ისთვის იხილეთ ჩვენი curl to Node.js converter. ტიპების უსაფრთხოებისთვის სცადეთ curl to TypeScript.

როგორ ვმართოთ ავტორიზაცია Fetch-ით?

გადაეცით Authorization ჰედერი headers ოფციაში: fetch(url, { headers: { "Authorization": "Bearer token" } }). Basic ავტორიზაციისთვის დააკოდირეთ მონაცემები btoa(user + ':' + pass)-ით. curl2code ავტომატურად ამოიცნობს -u და -H 'Authorization: ...' ფლაგებს.

როგორ გავაგზავნოთ multipart form data Fetch-ით?

შექმენით FormData ობიექტი და გადაეცით body-ს სახით: fetch(url, { method: "POST", body: formData }). არ მიუთითოთ Content-Type ხელით — ბრაუზერი ავტომატურად ამატებს multipart boundary-ს. curl2code აკონვერტირებს -F ფლაგებს FormData-ში.

როგორ ვმართოთ შეცდომები Fetch-ში?

Fetch უარყოფს მხოლოდ ქსელურ შეცდომებს და არა HTTP შეცდომებს. ყოველთვის შეამოწმეთ response.ok ან response.status body-ს წაკითხვამდე. მოათავსეთ გამოძახებები try/catch ბლოკში async/await-თან ერთად, რათა მართოთ როგორც ქსელური, ისე პარსინგის შეცდომები ერთ ადგილას.

როგორ გამოვიყენოთ async/await Fetch-თან?

Fetch აბრუნებს Promise-ს, ამიტომ გამოიყენეთ const response = await fetch(url), რასაც მოჰყვება const data = await response.json(). მოათავსეთ try/catch ბლოკში შეცდომების სამართავად. ეს უფრო სუფთაა, ვიდრე .then() ჯაჭვები და რეკომენდებული პატერნია თანამედროვე JavaScript-ისთვის.

როგორ დავაყენოთ თაიმაუტი Fetch მოთხოვნებისთვის?

გამოიყენეთ AbortController: შექმენით კონტროლერი, გადაეცით { signal: controller.signal } fetch-ს და გამოიძახეთ controller.abort() დაყოვნების შემდეგ setTimeout-ის გამოყენებით. თანამედროვე ბრაუზერები ასევე მხარს უჭერენ AbortSignal.timeout(5000)-ს, როგორც უფრო მარტივ ერთხაზიან კოდს. curl-ის --max-time შეესაბამება ამ პატერნს.

როგორ მოვაგვაროთ CORS პრობლემები Fetch-თან?

CORS კონტროლდება ბრაუზერის მიერ და არა თავად Fetch-ის მიერ. დააყენეთ mode: 'cors' (ნაგულისხმევი) და დარწმუნდით, რომ სერვერი აგზავნის შესაბამის Access-Control-Allow-Origin ჰედერს. ქუქიებისთვის დაამატეთ credentials: 'include'. CORS არ ვრცელდება სერვერის მხარის კოდზე — ამისთვის იხილეთ ჩვენი curl to Node.js converter.

როგორ გავაგზავნოთ POST მოთხოვნა JSON ტანით JavaScript ენაზე?

გადაიყვანეთ curl POST ბრძანება, როგორიცაა curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, JavaScript ენაზე curl2code გამოყენებით. გენერირებული კოდი იყენებს fetch(url, { method: 'POST', body: JSON.stringify(data), headers: {'Content-Type': 'application/json'} }). curl2code ავტომატურად ამოიცნობს -d/--data ფლაგებს JSON კონტენტით და ადგენს შესაბამის Content-Type ჰედერს fetch კოდში.

როგორ დავამატოთ Bearer token ავტორიზაცია JavaScript ენაზე?

მიაწოდეთ curl -H "Authorization: Bearer YOUR_TOKEN" URL ბრძანება curl2code ხელსაწყოს და ის დააგენერირებს fetch კოდს ავტორიზაციის ჰედერით: headers: { 'Authorization': 'Bearer YOUR_TOKEN' }. curl2code ამოიცნობს Bearer ტოკენებს როგორც -H "Authorization: Bearer ...", ისე --oauth2-bearer ფლაგებიდან. Basic auth-ისთვის გამოიყენეთ -u user:pass.

როგორ განვსაზღვროთ Content-Type ჰედერი JavaScript ენაზე?

curl2code გადაიყვანს curl -H "Content-Type: application/json" URL ბრძანებას fetch კოდში შესაბამისი ჰედერით: headers: { 'Content-Type': 'application/json' }. -d მონაცემებისთვის curl სტანდარტულად იყენებს application/x-www-form-urlencoded; -F ფორმის ატვირთვისთვის კი — multipart/form-data. curl2code თითოეულ მათგანს შესაბამის fetch API-სთან აკავშირებს.

სასარგებლო ბმულები

curl სახელმძღვანელოები

curl-ის კონვერტაცია სხვა ენებზე