curl-ის კონვერტაცია Kotlin-ში
curl2code გარდაქმნის curl ბრძანებებს Kotlin კოდად OkHttp-ის გამოყენებით. კონვერტაცია სრულდება თქვენს ბრაუზერში WebAssembly-ის მეშვეობით სრული კონფიდენციალურობისთვის. Java-სთვის ნახეთ ჩვენი curl to Java კონვერტორი. Swift (iOS)-ისთვის იხილეთ curl to Swift. ქვემოთ მოცემულია პრაქტიკული Kotlin მაგალითები.
როგორ დავაკოპიროთ curl ბრაუზერიდან
- 1
გახსენით DevTools
დააჭირეთ F12-ს ან Ctrl+Shift+I ბრაუზერის დეველოპერის ხელსაწყოების გასახსნელად.
- 2
გადადით Network ტაბზე
დააწკაპუნეთ Network ტაბს და შეასრულეთ მოქმედება, რომელიც იწვევს HTTP მოთხოვნას.
- 3
დააკოპირეთ როგორც cURL
დააწკაპუნეთ მოთხოვნას მარჯვენა ღილაკით → Copy → Copy as cURL. შემდეგ ჩასვით ზემოთ.
ხშირად დასმული კითხვები
რა არის Kotlin OkHttp?
OkHttp არის ფართოდ გამოყენებული HTTP კლიენტი Kotlin-ისა და Java-სთვის, შემუშავებული Square-ის მიერ. მას აქვს connection pooling-ის, გამჭვირვალე GZIP-ის, პასუხების ქეშირებისა და HTTP/2-ის მხარდაჭერა. დაამატეთ implementation("com.squareup.okhttp3:okhttp:4.x")-ით. ეს არის ნაგულისხმევი ბიბლიოთეკა, რომელსაც curl2code იყენებს Kotlin კონვერტაციებისთვის და წარმოადგენს სტანდარტულ HTTP კლიენტს Android-ისთვის.
OkHttp vs Ktor Client vs Fuel — რომელი გამოვიყენო?
OkHttp არის ინდუსტრიის სტანდარტი, განსაკუთრებით Android-ისთვის. Ktor Client არის Kotlin-ზე ორიენტირებული coroutine-ების მხარდაჭერით და მულტიპლატფორმული შესაძლებლობებით. Fuel არის მსუბუქი, სუფთა Kotlin DSL-ით. Android-ისთვის OkHttp (ხშირად Retrofit-ის მეშვეობით) ნაგულისხმევი არჩევანია. JVM შედარებისთვის იხილეთ ჩვენი curl to Java კონვერტერი.
როგორ ვმართოთ ავტორიზაცია Kotlin-ში?
დაამატეთ header-ი: request.addHeader("Authorization", "Bearer $token"). Basic auth-ისთვის: გამოიყენეთ Credentials.basic(user, pass) დამხმარე ფუნქცია. OkHttp ასევე მხარს უჭერს Authenticator ინტერფეისს 401 პასუხებზე ავტორიზაციის მონაცემებით ავტომატური განმეორებისთვის. curl2code ავტომატურად მართავს -u და Bearer დროშებს.
როგორ გავაგზავნოთ multipart form მონაცემები Kotlin-ში?
გამოიყენეთ OkHttp-ის MultipartBody.Builder(): .addFormDataPart("file", filename, fileBody) ფაილებისთვის და .addFormDataPart("key", "value") ველებისთვის. დააყენეთ .setType(MultipartBody.FORM). curl2code აკონვერტირებს -F დროშებს OkHttp-ის სწორ multipart builder კოდში.
როგორ ვმართოთ HTTP შეცდომები Kotlin-ში?
შეამოწმეთ response.isSuccessful 2xx სტატუსისთვის ან წაიკითხეთ response.code. OkHttp აგდებს IOException-ს ქსელის ხარვეზებისას. გამოიყენეთ Kotlin-ის runCatching { } ან try/catch შეცდომების სუფთად მართვისთვის. ყოველთვის დახურეთ პასუხის body .use { } ბლოკით რესურსების გაჟონვის თავიდან ასაცილებლად.
როგორ გამოვიყენოთ coroutine-ები OkHttp-თან?
მოაქციეთ მბლოკავი OkHttp გამოძახებები withContext(Dispatchers.IO) { client.newCall(request).execute() }-ში. ან გამოიყენეთ suspendCancellableCoroutine გაფართოება enqueue()-თან ერთად ნამდვილი ასინქრონულობისთვის. Ktor Client-ს აქვს coroutine-ების ნატიური მხარდაჭერა. მსგავსი ასინქრონული პატერნებისთვის იხილეთ curl to Swift (async/await).
როგორ დავაყენოთ timeout-ები Kotlin OkHttp-ში?
კონფიგურაცია ხდება კლიენტზე: OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS).writeTimeout(30, TimeUnit.SECONDS).build(). განმეორებისთვის დაამატეთ interceptor-ი, რომელიც იმუშავებს ხარვეზისას. ეს შეესაბამება curl-ის --connect-timeout და --max-time ოფციებს.
როგორ გამოვიყენოთ proxy OkHttp-თან?
დააყენეთ კლიენტის builder-ზე: OkHttpClient.Builder().proxy(Proxy(Proxy.Type.HTTP, InetSocketAddress("proxy", 8080))).build(). ავტორიზაციისთვის დაამატეთ proxyAuthenticator. OkHttp ასევე მხარს უჭერს SOCKS proxy-ებს Proxy.Type.SOCKS-ით. curl2code აკონვერტირებს -x დროშებს ამ კონფიგურაციაში.
როგორ გავაგზავნოთ POST მოთხოვნა JSON ტანით Kotlin ენაზე?
გადაიყვანეთ curl POST ბრძანება, როგორიცაა curl -X POST -H "Content-Type: application/json" -d "{"key":"value"}" URL, Kotlin ენაზე curl2code გამოყენებით. გენერირებული კოდი იყენებს RequestBody.create(MediaType.parse("application/json"), json). curl2code ავტომატურად ამოიცნობს -d/--data ფლაგებს JSON კონტენტით და ადგენს შესაბამის Content-Type ჰედერს OkHttp კოდში.
როგორ დავამატოთ Bearer token ავტორიზაცია Kotlin ენაზე?
მიაწოდეთ curl -H "Authorization: Bearer YOUR_TOKEN" URL ბრძანება curl2code ხელსაწყოს და ის დააგენერირებს OkHttp კოდს ავტორიზაციის ჰედერით: .addHeader("Authorization", "Bearer YOUR_TOKEN"). curl2code ამოიცნობს Bearer ტოკენებს როგორც -H "Authorization: Bearer ...", ისე --oauth2-bearer ფლაგებიდან. Basic auth-ისთვის გამოიყენეთ -u user:pass.
როგორ განვსაზღვროთ Content-Type ჰედერი Kotlin ენაზე?
curl2code გადაიყვანს curl -H "Content-Type: application/json" URL ბრძანებას OkHttp კოდში შესაბამისი ჰედერით: .addHeader("Content-Type", "application/json"). -d მონაცემებისთვის curl სტანდარტულად იყენებს application/x-www-form-urlencoded; -F ფორმის ატვირთვისთვის კი — multipart/form-data. curl2code თითოეულ მათგანს შესაბამის OkHttp API-სთან აკავშირებს.
სასარგებლო ბმულები
curl სახელმძღვანელოები
curl შეცდომის კოდები
მოძებნეთ ნებისმიერი curl გასვლის კოდი — მიზეზები, გამოსწორებები და გამართვის რჩევები.
ფაილების ჩამოტვირთვა curl-ით
შეინახეთ ფაილები -o, -O პარამეტრებით, მიჰყევით გადამისამართებებს, განაახლეთ ჩამოტვირთვები და სხვა.
SSL, TLS და პროქსი
სერტიფიკატების, TLS ვერსიების, HTTP/SOCKS პროქსების და მორგებული DNS-ის კონფიგურაცია.