Node.js [বন্ধ] এর মাধ্যমে কীভাবে বাহ্যিক HTTP অনুরোধগুলি করবেন


84

প্রশ্ন মোটামুটি সহজ। আমি কোনও নোড.জেএস সার্ভারকে একটি ব্যাকএন্ড এইচটিটিপি সার্ভারে (পিটি, জিইটি, এবং ডিলেট অনুরোধগুলি) লগ করতে, প্রমাণীকরণ করতে এবং HTTP অনুসন্ধানগুলি ফরোয়ার্ড করতে প্রক্সি হিসাবে ব্যবহার করতে চাই।

এই উদ্দেশ্যে আমার কোন লাইব্রেরি ব্যবহার করা উচিত? আমি ভয় পাচ্ছি যে আমি একটিও পাই না।

উত্তর:


136

নোডজেএস একটি আদর্শ মডিউল হিসাবে HTTP.request সমর্থন করে: http://nodejs.org/docs/v0.4.11/api/http.html#http.request

var http = require('http');

var options = {
  host: 'example.com',
  port: 80,
  path: '/foo.html'
};

http.get(options, function(resp){
  resp.on('data', function(chunk){
    //do something with chunk
  });
}).on("error", function(e){
  console.log("Got error: " + e.message);
});

10
resp.setEncoding('utf8');ইউটিএফ 8 স্ট্রিং হিসাবে ডেটা পেতে আমি যুক্ত করতে (বা যা কিছু এনকোডিং ব্যবহার করছি) সুপারিশ করব would যদি আমি সঠিকভাবে বুঝতে পারি, অন্যথায় আপনি বাফার অবজেক্টগুলি পেয়ে যাবেন এবং যদি কোনও মাল্টি-বাইট অক্ষর দুটি খণ্ডে বিভক্ত হয় তবে মাল্টি-বাইট অক্ষরগুলির সাথে সমস্যা হতে পারে। (কেবলমাত্র কিছু সময়ের জন্য সম্পর্কিত সমস্যাটি ডিবাগ করা হয়েছে)
টাউকো

8
আমি আসলে requestঅনেক বেশি এনপিএম মডিউল ব্যবহার শুরু করেছি ।
chovy

7

আমি নোড-http-প্রক্সি এবং এক্সপ্রেস একত্রিত হবে ।

নোড-http-প্রক্সি আপনার নোড.জেএস ওয়েব সার্ভারের মাধ্যমে একটি প্রক্সি সমর্থন করবে RoutingProxy( অন্য HTTP সার্ভারের মধ্যে প্রক্সি অনুরোধগুলির উদাহরণ দেখুন )।

আপনার কাস্টম সার্ভার যুক্তির ভিতরে আপনি এক্সপ্রেস ব্যবহার করে প্রমাণীকরণ করতে পারেন। উদাহরণের জন্য এখানে প্রমাণীকরণের নমুনা দেখুন ।

এই দুটি উদাহরণের সংমিশ্রণটি আপনাকে যা দিতে হবে তা দেওয়া উচিত।


5

আপনি এটি করতে অন্তর্নির্মিত httpমডিউলটি ব্যবহার করতে পারেন http.request()

তবে আপনি যদি এপিআইটিকে সহজ করতে চান তবে আপনি মডিউল যেমন সুপ্রেজেন্ট ব্যবহার করতে পারেন


4
সত্যিই অনেক সানির আপি। আমি কেবলমাত্র নিম্ন স্তরের এপিআই সরবরাহের জন্য নোডকে দোষ দিই না তবে ডেটার অংশগুলি পরিচালনা করতে শুরু করা কেবল বিরক্তিকর।
লরেন্ট বোর্গাল্ট-রায়

1

উপরের @ ক্রস দ্বারা প্রস্তাবিত নোড-http-প্রক্সি একটি দুর্দান্ত সমাধান। আপনি যদি নোড ব্যবহারে ডেডসেট না হন তবে আমরা একই কাজ করতে এনজিআইএনএক্স ব্যবহার করি । এটি নোডের সাথে সত্যই ভাল কাজ করে। আমরা উদাহরণস্বরূপ নোডে ফরোয়ার্ড দেওয়ার আগে এসএসএল অনুরোধগুলি প্রক্রিয়া করার জন্য এটি ব্যবহার করি। এটি ক্যাশে এবং ফরোয়ার্ডিং রুটগুলিও পরিচালনা করতে পারে। হ্যাঁ!


0

এটি করার জন্য আপনি নোড.জেএসএস HTTP মডিউলটি ব্যবহার করতে পারেন। আপনি নোড.জেএস এইচটিটিপিতে ডকুমেন্টেশন চেক করতে পারেন ।

আপনাকে অন্যান্য এইচটিটিপি সার্ভারেও ক্যোরিয় স্ট্রিংটি পাস করতে হবে। এটি আপনার সার্ভার - রেকুস্ট.আরএল এ থাকা উচিত ।

আপনার এই তথ্যগুলি একবার হয়ে গেলে আপনি ব্যাকএন্ড এইচটিটিপি সার্ভার এবং পোর্টে যে বিকল্পগুলি সরবরাহ করবেন তা পাস করতে পারেন http.request()

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.