HTTP_PROXY এনভায়রনমেন্ট ভেরিয়েবলের 'ডান' ফর্ম্যাটটি কী? ক্যাপস না কোনও ক্যাপস?


25

আমি http_proxyএবং উভয়ের মুখোমুখি হয়েছি HTTP_PROXY। উভয় ফর্ম সমান? তাদের মধ্যে কি অন্যের চেয়ে বেশি প্রাধান্য পাওয়া যায়?

উত্তর:


27

এমন কোনও কেন্দ্রীয় কর্তৃপক্ষ নেই যারা অ্যাপ্লিকেশনগুলি ব্যবহারের আগে পরিবেশের পরিবর্তনশীলগুলিকে একটি সরকারী অর্থ নির্ধারণ করে। পসিক্স কিছু ভেরিয়েবলের অর্থ, ( PATH,, TERM…) সংজ্ঞায়িত করে এবং আরও অনেককে একটি নন-আদর্শিক পদ্ধতিতে প্রচলিত ব্যবহার হিসাবে, সমস্তটি বড় হাতের অক্ষরে ব্যবহার করে। http_proxyএবং বন্ধুরা তাদের মধ্যে একটি নয়।

মূলত সব প্রচলিত পরিবেশ অনেক অ্যাপ্লিকেশনের দ্বারা ব্যবহৃত ভেরিয়েবল মতো http_proxy, https_proxy, ftp_proxyএবং no_proxyসাধারণভাবে ছোট হাতের অক্ষরে করছে। আমি এমন কোনও প্রোগ্রাম মনে করি না যা কেবল তাদের বড়হাতে বুঝে, আমি এমনকি বড় হাতের মধ্যে চেষ্টা করে এমন একটিও পাই না। অনেকগুলি প্রোগ্রাম শুধুমাত্র লিনেক্স, উইজেট, কার্ল, পার্ল এলডাব্লুপি, পার্ল ডাব্লুডাব্লুডাব্লু :: অনুসন্ধান, পাইথন urllib / urllib2, ইত্যাদি সহ কেবল ছোট ছোট অক্ষর ব্যবহার করে So

ছোট হাতের নামটি 1994 সালের মার্চ মাসে কমপক্ষে CERN libwww 2.15 এর সাথে সম্পর্কিত (এটি সনাক্ত করার জন্য স্টাফেন চেজেলাসকে ধন্যবাদ)। আমি জানি না যে ছোট হাতের বাছাইয়ের পছন্দটি কী অনুপ্রাণিত করেছিল, যা তখনও অস্বাভাবিক হত।


1
Unlike basically all conventional environment variables used by many applications, http_proxy, https_proxy, ftp_proxy and no_proxy are commonly lowercase. I don't recall any program that only understands them in uppercase-> রেকর্ডের জন্য, আমি সবেমাত্র জানতে পেরেছি যে ডকার 17.04.0-ce কেবল NO_PROXY কে সম্মান করে।
জৌমে

ক্লাউডফর্মেশন স্ক্রিপ্টস (সিএফএন-সিগন্যাল, সিএফএন-আরআই) বড় হাতের রূপ ব্যবহার করে HTTPS_PROXY। ডকারও বড় হাতের অক্ষর ব্যবহার করে।
ফিলিপ আলভারেজ

পিপিএ সংগ্রহস্থল যুক্ত করার চেষ্টা করার সময় লোয়ার কেসগুলি আমার পক্ষে কাজ করে না। sudo -E apt-add-repository ppa:xxxxx/xxxx। আমার করতে হয়েছিল unset https_proxyএবংexport HTTPS_PROXY=http://a.b.c.d:xxxx
Mheni

7

কোনও স্ট্যান্ডার্ড নেই এবং বড় এবং ছোট উভয় সংস্করণ অ্যাপ্লিকেশনটির উপর নির্ভর করে ব্যবহৃত হয় (এছাড়াও HTTPS_PROXY, ALL_PROXY, NO_PROXY দেখুন)।

উদাহরণ স্বরূপ:

কার্ল

ENVIRONMENT VARIABLES

  Curl reads and understands the following environment variables:

        http_proxy, HTTPS_PROXY, FTP_PROXY

  They should be set for protocol-specific proxies. General proxy should be
  set with

        ALL_PROXY

  A comma-separated list of host names that shouldn't go through any proxy is
  set in (only an asterisk, '*' matches all hosts)

        NO_PROXY

Git

http.proxy
   Override the HTTP proxy, normally configured using the http_proxy, https_proxy, 
   and all_proxy environment variables (see curl(1)). [..]

পাইথন

urllib.request.getproxies() ছোট এবং বড় হাতের উভয় রূপই সমর্থন করে।

এটিতে একটি সুরক্ষার বিষয়টিও উল্লেখ করা হয়েছে:

যদি পরিবেশের পরিবর্তনশীল REQUEST_METHOD সেট করা থাকে, যা সাধারণত আপনার স্ক্রিপ্টটি কোনও সিজিআই এনভায়রনমেন্টে চলমান দেখায়, পরিবেশে চলক HTTP_PROXY (বড় হাতের অক্ষর _PROXY) উপেক্ষা করা হবে। এর কারণ হল যে সেই ভেরিয়েবলটি একটি ক্লায়েন্ট দ্বারা "প্রক্সি:" HTTP শিরোনাম ব্যবহার করে ইনজেকশনের ব্যবস্থা করা যেতে পারে। আপনার যদি কোনও সিজিআই এনভায়রনমেন্টে এইচটিটিপি প্রক্সি ব্যবহার করার প্রয়োজন হয় তবে হয় প্রক্সিহ্যান্ডলার স্পষ্টভাবে ব্যবহার করুন, অথবা ভেরিয়েবলের নাম ছোট হাতের অক্ষরে আছে কিনা তা নিশ্চিত করুন (বা কমপক্ষে _প্রক্স প্রত্যয়)।


কিছু অ্যাপ্লিকেশন NO_PROXYস্টার / আইপ-রেঞ্জগুলি রাখার অনুমতি দেয় যখন অন্যরা তা করে না।


সুতরাং

export https_proxy=$http_proxy HTTP_PROXY=$http_proxy HTTPS_PROXY=$http_proxy NO_PROXY=$no_proxy

আপনি আবরণ করা উচিত।


0

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


বেশিরভাগ (মূলত, সমস্ত) .তিহ্যগত পরিবেশের ভেরিয়েবলগুলি থেকে পৃথক হয় http_proxyএবং এর ভাইবোনরা সাধারণত ছোট হাতের অক্ষরে থাকে।
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

@ গিলস যা একটি বাগ হবে।
২৯:১৯ এ

3
না, তা নয়। আপনি ঠিক বলেছেন যে পরিবেশের ভেরিয়েবলের জন্য বড় হাতের অক্ষর ব্যবহার করার একটি সম্মেলন রয়েছে তবে এটি কেবল একটি সম্মেলন, কোনও নিয়ম নয়। পরিবেশের ভেরিয়েবল http_proxyএবং বন্ধুদের জন্য ডি-ফ্যাক্টো স্ট্যান্ডার্ডটি একটি কনভেনশন লঙ্ঘন করে ছোট হাতের অক্ষরে বানান করা উচিত। অ্যাপ্লিকেশনটি ব্যবহারের জন্য HTTP_PROXYএটি একটি বাগ হতে পারে কারণ এটি বিশ্বের অন্যান্য অংশের সাথে সঙ্গতিপূর্ণ নয়।
গিলস

1
স্নার্ফের বড় হাতের অক্ষর প্রয়োজন এবং উইজেটের বিপরীতে একটি বাগ রিপোর্ট রয়েছে।
০১:০ild

1
এটা পিছিয়ে। যখন কোনও আচরণ 20 বছর ধরে চলেছে, সঠিক বা ভুল, তখন এটিই হয় এবং এটি পরিবর্তন হবে না। আমার মনে হয় অগ্রগামী লিংক ছিলেন (এটি ওয়েবের চেয়ে পুরানো); আমি জানি না কেন এটি ছোট হাতের ব্যবহার করে। কার্ল বড় হাতের নাগালে শুরু হয়েছিল তারপরে লিংক এবং উইজেটের সাথে সামঞ্জস্যের জন্য ছোট ছোট অক্ষরে পরিবর্তিত হয়েছে
গিলস 'তাই খারাপ হওয়া বন্ধ করুন'

0

ডাব্লুজিইটি - কেবল ছোট ছোট প্রক্সি সেটিংস ব্যবহার করছে!


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