জাভাতে সিআরএল কীভাবে ব্যবহার করবেন?


92

আমি জাভাতে নবাগত এবং জাভাতে কার্ল ব্যবহার করতে চাই। আমার প্রশ্নটি হল জাভা অন্তর্নির্মিত বা জাভা ব্যবহারের জন্য আমাকে কোনও তৃতীয় পক্ষের উত্স থেকে এটি ইনস্টল করতে হবে। যদি তা হয় তবে জাভাতে কার্ল ইনস্টল করবেন কীভাবে। আমি দীর্ঘদিন ধরে গুগল করছি তবে কোন সাহায্য পাইনি। আশা করি সেখানে কেউ আমাকে সহায়তা করতে পারে।

আগাম ধন্যবাদ.


@ স্কাফম্যান: এখনও কিছু নেই। আমি একজন পিএইচপি প্রোগ্রামার যিনি সম্প্রতি জাভা চেষ্টা করছেন। তাই স্বাভাবিকভাবেই আমি কার্ল করতে খুব অভ্যস্ত। সুতরাং, জাভাতে নবাগত হিসাবে কাজ করার সময়, এই প্রশ্নটি আমার মনে আসে, এখনও কৌতূহলের বাইরে নয় তবে আমি নিশ্চিত যে অদূর ভবিষ্যতে আমার এটির প্রয়োজন হবে। কেউ যদি জাভাতে কার্লের আরও ভাল বিকল্প জানেন তবে দয়া করে শেয়ার করুন। এটি খুব খুব সহায়ক হবে। ধন্যবাদ
মোশফিকুর


আমি জিজ্ঞাসা করছি কারণ সিআরএল পুরো একগুচ্ছ স্টাফ করে, যার কয়েকটি জাভাতে অন্তর্নির্মিত, যার মধ্যে কিছু নেই। আরও নির্দিষ্ট প্রয়োজনীয়তা এখানে অনেক সাহায্য করবে।
skaffman

উত্তর:


138

আপনি java.net.URLএবং / অথবা ব্যবহার করতে পারেন java.net.URLConnection

URL url = new URL("https://stackoverflow.com");

try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
    for (String line; (line = reader.readLine()) != null;) {
        System.out.println(line);
    }
}

আরো দেখুন ওরাকল সরল টিউটোরিয়াল বিষয়ে। এটি তবে কিছুটা ভার্জোজ। কম ভার্বোস কোডটি শেষ করতে আপনি তার পরিবর্তে অ্যাপাচি এইচটিটিপি ক্লিনেন্ট বিবেচনা করতে চাইতে পারেন ।

যাইহোক যদি আপনার পরবর্তী প্রশ্ন হল "? কিভাবে প্রক্রিয়া এইচটিএমএল ফলাফল", তারপরে উত্তর "হয় ব্যবহারের একটি এইচটিএমএল পার্সারনা, এই জন্য Regex ব্যবহার করবেন না ।"।

আরো দেখুন:


@ বালুসসি: ধন্যবাদ আপনার সরবরাহিত লিঙ্কগুলি থেকে কিছু গবেষণা করা। বিটিডব্লিউ, আপনি কি জাভাতে কার্লের আরও ভাল বিকল্প জানেন, যা কার্লের মতো একই কার্যকারিতা সরবরাহ করবে? আবার ধন্যবাদ.
মোশফিকুর

7
যেমনটি উল্লেখ করা হয়েছে, এইচটিপিপি্লিয়েন্ট হ'ল "আরও ভাল বিকল্প"। আপনি প্রকৃতপক্ষে সবকিছু করতে পারেন URLConnection, আপনাকে এখনও HTTP স্পেসগুলি জানতে এবং বুঝতে হবে। যাইহোক, জাভা সঙ্গে পিএইচপি তুলনা করার চেষ্টা করবেন না। এটি আপেল এবং কমলার মতো। স্ব-ঝামেলা / বিভ্রান্তি এড়াতে, বরং পিএইচপি সম্পর্কে ভুলে যান এবং জাভাতে একটি নতুন দৃষ্টিভঙ্গি রাখুন। এটি সম্পূর্ণ ভিন্ন আদর্শ সহ একটি ভাষা। পিএস: আমি উভয়ই করি, তাই অভিজ্ঞতা থেকে বলি।
বালাসসি

যেহেতু এটি এবং অন্যান্য ব্যক্তিরা এইচটিটিপিপ্লিনেন্ট ব্যবহারের কথা উল্লেখ করেছেন। আমি সত্যিই লাইবকার্ল ব্যবহার এড়িয়ে চলার পরামর্শ দিচ্ছি, আপনি যে প্ল্যাটফর্মটি সমর্থন করতে চান তার জন্য আপনি দেশীয় গ্রন্থাগারটি বান্ডিল করবেন তা নিশ্চিত করতে হবে এবং তাড়াতাড়ি বা পরে কেউ অভিযোগ করবে যে এটি তাদের পুরানো পাওয়ার ম্যাক বা এসজিআই ওয়ার্কস্টেশনে কাজ করে না।
বিকির্ক

আপনি কি ভাবেন না, ক্যাচ ব্লক সর্বদা ট্রাই ব্লকের সাথে দুর্দান্ত দেখায়: ডি
মুহাম্মদ সুলায়মান

আহ ... এখন বুঝেছি। আপনি এই ধরণের কোড ব্যবহার করতে পারেন যেখানে আমাদের নেস্টেড ট্রাই / ক্যাচ দরকার হবে। দুঃখিত আমার ভুল!
মুহাম্মদ সুলায়মান

5

কিছু লোক ইতিমধ্যে HTTPURL সংযোগ , URL এবং URL সংযোগ উল্লেখ করেছে । কার্ল লাইব্রেরি আপনাকে সরবরাহ করে এমন সমস্ত নিয়ন্ত্রণ এবং অতিরিক্ত বৈশিষ্ট্যগুলি (এবং আরও অনেকগুলি) আপনার প্রয়োজন হলে আমি অ্যাপাচি এর httpclient সুপারিশ করব


4

রানটাইম বস্তুর আপনি জাভা কাছ থেকে বাহ্যিক কমান্ড লাইন অ্যাপ্লিকেশন চালানো করার অনুমতি দেয় এবং এর ফলে আপনার তবে কার্ল ব্যবহার করতে হিসাবে অন্যান্য উত্তর ইঙ্গিত সেখানে সম্ভবত আপনাকে যা করতে চেষ্টা করছেন কি করতে একটি ভাল উপায় নেই সম্ভব হবে। আপনি যা করতে চান তা যদি কোনও ফাইল ডাউনলোড করতে হয় তবে ইউআরএল অবজেক্ট দুর্দান্ত কাজ করবে।


3

মান জাভা লিব ব্যবহার করে, আমি HttpUrlConnection বর্গ দিকে তাকিয়ে করার পরামর্শ দিই http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html

এটি সংযোগ স্থাপনের সাথে কার্ল যা করতে পারে তার বেশিরভাগটিকে পরিচালনা করতে পারে। আপনি স্ট্রিমটি দিয়ে যা করেন তা আপনার হাতে।


3

কার্ল হ'ল জাভা প্রোগ্রাম এবং এটি আপনার জাভা প্রোগ্রামের বাইরে সরবরাহ করতে হবে।

জাকার্তা কমন্স নেট ব্যবহার করে আপনি খুব কার্যকারিতা সহজেই পেতে পারেন , যদি না আপনার প্রয়োজনীয় "পুনঃসূচনা ট্রান্সফার" এর মতো নির্দিষ্ট কার্যকারিতা না থাকে (যা আপনার নিজের কোড করার জন্য ক্লান্তিকর)


দুর্দান্ত, তবে কমলস নেট কার্লের চেয়ে কিছুটা বেশি (খুব বেশি) এগিয়ে যায়।
বালাসসি

2

কার্লকে কল করতে রানটাইম ব্যবহার করুন । এই কোড উবুন্টু এবং উইন্ডোজ উভয়ের জন্যই কাজ করে।

String[] commands = new String {"curl", "-X", "GET", "http://checkip.amazonaws.com"};
Process process = Runtime.getRuntime().exec(commands);
BufferedReader reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
String line;
String response;
while ((line = reader.readLine()) != null) {
    response.append(line);
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.