সিআরএল (PROXY ব্যবহার করে) এর সাথে HTTP অনুরোধগুলি সম্পাদন করা হচ্ছে


451

আমার এই প্রক্সি ঠিকানা রয়েছে: 125.119.175.48:8909

আমি কীভাবে সিআরএল ব্যবহার করে এইচটিটিপি অনুরোধটি সম্পাদন করতে পারি curl http://www.example.comতবে আমার নেটওয়ার্কের প্রক্সি ঠিকানাটি নির্দিষ্ট করে দিচ্ছি?

উত্তর:


411

সাধারণ উপায়:

export http_proxy=http://your.proxy.server:port/

তারপরে আপনি (অনেক) অ্যাপ্লিকেশন থেকে প্রক্সিটির মাধ্যমে সংযোগ করতে পারেন।

এবং, নীচের মতামত অনুসারে, https এর জন্য:

export https_proxy=https://your.proxy.server:port/

76
যখন আপনাকে HTTPS ট্রাফিকের প্রক্সি করতে হবে, পরিবেশের পরিবর্তনশীল বড় হাতের
অক্ষর

18
ম্যান পেজ থেকে পরিবেশের ভেরিয়েবলগুলি লোয়ার কেস বা আপার ক্ষেত্রে সুনির্দিষ্ট করা যেতে পারে। লোয়ার কেস সংস্করণটির প্রাধান্য রয়েছে। http_proxy ব্যতিক্রম কারণ এটি কেবল নিম্ন ক্ষেত্রে পাওয়া যায়। প্রক্সি সেট করতে পরিবেশের পরিবর্তনশীল ব্যবহারের ক্ষেত্রে --Proxy বিকল্পটি ব্যবহার করার মতোই প্রভাব রয়েছে।
ক্যাপ্টেন লেপটন

@ বিপিনভায়ালু, আপনি কি পরীক্ষা করতে চান? এই উপায়ে, আমি উপরে যা বর্ণনা করছি, ক্লায়েন্ট স্বচ্ছভাবে নয়, প্রক্সি "সরাসরি উপায়" ব্যবহার করে। সুতরাং, প্রক্সিটি প্রমিত এইচটিটিপি উত্তর দেয় (এইচটিটিপি কোড সহ)। আপনি যদি কোনও ভুল http_proxy এনভায়রনমেন্ট ভেরিয়েবল (উদাঃ খারাপ পোর্ট ...) রফতানি করেন তবে ক্লায়েন্টটি এর সাথে সংযোগ স্থাপন করতে পারেনি এবং এটি একটি ত্রুটি বার্তা দেয়: "সতর্কতা! দূরবর্তী হোস্টের সাথে সংযোগ স্থাপন করা যায়নি!", বা অনুরূপ কিছু something - শুধু এটি চেষ্টা করুন :)

15
আপনি যদি কার্ল উত্স কোডটি চেক করেন তবে আপনি url.c এ দেখতে পাবেন (7.৩৯ এর লাইনে ৪৩৩৩ লাইন) তারা ছোট হাতের সংস্করণ পরীক্ষা করে এবং যদি এটি খুঁজে না পায় তবে বড় হাতের জন্য পরীক্ষা করুন check
রাইস্তমাজ

1
বেশিরভাগ ব্যবহারকারী আমাকে একটি সংশোধন পাঠিয়েছিলেন, এখন আমি এটি ভাগ করে নিই। আপনি যদি প্রক্সিটির মাধ্যমে এইচটিটিপিএস সংযোগটি ব্যবহার করতে চান, তবে আপনার এটি করা উচিত: https_proxy = your.proxy.server: পোর্ট নোট করুন, ইউআরএল স্কিমে "http" প্রোটো রয়েছে, HTS নয়!
এয়ার

661

থেকে man curl:

-x, --proxy <[protocol://][user:password@]proxyhost[:port]>

     Use the specified HTTP proxy. 
     If the port number is not specified, it is assumed at port 1080.

কার্ল: (7) হোস্ট কার্ল সংযোগ করতে পারে নি: (7) হোস্ট সংযুক্ত হতে পারেনি
user873286

আমি এই কমান্ডটি চালানোর সময় আমি ত্রুটিটি পেয়েছি: কার্ল-এক্স, --প্রক্সি 122.72.2.200:80 mysite.com/test.php?id=1
ব্যবহারকারী 873286

61
"-x, --proxy" এর অর্থ হল যে কোনও একটি ব্যবহার করা যেতে পারে। কমান্ডটি "curl -x 122.72.2.200:80 mysite.com/test.php?id=1 " বা "কার্ল
আইবিবোর্ড

8
ডক্সগুলি উপরে হিসাবে সঠিকভাবে উদ্ধৃত হয়েছে, তবে ব্যবহারকারী এবং পাসওয়ার্ডটি আলাদাভাবে প্রকাশ করা উচিত: -x user:password@proxyhost:port
এড চ্যাপেল

সেরা উত্তরের জন্য ধন্যবাদ!
haotang

128

উপরের সমাধানগুলি কিছু কার্ল সংস্করণগুলির সাথে কাজ করতে পারে না যা আমি তাদের জন্য চেষ্টা করেছিলাম (7.22.0 কার্ল)। তবে আমার পক্ষে যা কাজ করেছে তা হ'ল:

curl -x http://proxy_server:proxy_port --proxy-user username:password -L http://url

আশা করি এটি আরও ভাল সমস্যার সমাধান করবে!


একই ইস্যুতে চলে
আসুন, দেবিয়ান

পরিবর্তে এটি পেয়েছেন[1] 4812
আমিনাহ নুরাইনি

80

সতর্কতা অবলম্বন করুন আপনি যদি এইচটিটিপি / এইচটিটিপিএস প্রক্সিটির পরিবর্তে কোনও সোকসএস প্রক্সি ব্যবহার করে থাকেন তবে --socks5তার পরিবর্তে আপনাকে সুইচটি ব্যবহার করতে হবে:

curl --socks5 125.119.175.48:8909 http://example.com/

প্রক্সি সাইডে DNS সমাধান করার --socks5-hostnameপরিবর্তে আপনি ব্যবহার করতে পারেন --socks5


6
এটি আমার পক্ষে কাজ করে না, তবে ব্যবহার করে --socks5-hostname
মিশা রাইবাক

2
@ মাইচাইরাবাক যা একই কাজ করবে তবে প্রক্সি পক্ষের ডিএনএসকে সমাধান করবে। দেখুন man পৃষ্ঠা আরো বিস্তারিত জানার জন্য।
ফিলিপ কোরিয়া

3
curl https://api.ipify.org --proxy socks5://189.100.246.182:37339আমার জন্য ভাল কাজ বলে মনে হচ্ছে। কি --proxyনিকৃষ্ট কিছু উপায় বিকল্প --socks5যখন socks5 প্রক্সি ব্যবহার করছেন?

@ ব্যবহারকারী993683 এটি সংস্করণ নির্ভর। --proxyসম্ভবত আপনি এখন যা চান, তবে এটি সর্বদা সমর্থিত ছিল না। এটিও নোট করুন socks5://এবং socks5h://প্রক্সিটিতে সংযুক্ত হওয়ার আগে এবং পরে যথাক্রমে হোস্টনাম (ডিএনএস) রেজোলিউশনটি সম্পাদন করুন।
মাইকেল - ক্লে শিরকি

51

এয়ারওয়ানের বিজ্ঞাপন হিসাবে, আরেকটি ভাল ধারণা হ'ল এটি আপনার .bashrc এ যুক্ত করুন, সুতরাং আপনি অ প্রক্সাইড থেকে প্রক্সাইড পরিবেশে স্যুইচ করতে সক্ষম হবেন:

alias proxyon="export http_proxy='http://YOURPROXY:YOURPORT';export https_proxy='http://YOURPROXY:YOURPORT'"
alias proxyoff="export http_proxy='';export https_proxy=''"

যেখানে আপনার সম্পত্তি: আপনার উত্স হ'ল আপনার আইপি এবং পোর্ট প্রক্সি :-)।

তারপর, সহজভাবে করছেন

proxyon

আপনার সিস্টেম প্রক্সি ব্যবহার শুরু করবে এবং এর সাথে ঠিক বিপরীত হবে:

proxyoff

34

নিম্নলিখিত ব্যবহার

curl -I -x 192.168.X.X:XX http://google.com

192.168.X.X:XX আপনার প্রক্সি সার্ভার আইপি এবং পোর্ট রাখুন।

-v ভার্বোজ মোড এটি শিরোনাম এবং প্রতিক্রিয়া সহ আরও বিশদ দেবে।


2
এই উত্তর হওয়া উচিত। আপনার হোস্টের প্রতিটি HTTP ক্লায়েন্ট দ্বারা সম্পাদিত প্রতিটি HTTP অনুরোধের জন্য সবাই বৈশ্বিক পরিবর্তনশীল (রফতানি) নির্দিষ্ট করতে চায় না। এই বিকল্পটি আরও নমনীয়তা দেয়, আইএমএইচও।
ivanleoncz

আপনি যখন কোনও ইউআরএল-এর বিপরীতে বিভিন্ন প্রক্সি চেষ্টা করে থাকেন এটি এত কার্যকর। ধন্যবাদ।
redAce

30

তুমি ব্যবহার করতে পার :

curl http://www.example.com --proxy http://125.119.175.48:8909

কার্ল দ্বারা ব্যাখ্যা হিসাবে


25
"কার্ল দ্বারা ব্যাখ্যা করা", যার অর্থ এই উত্তরটি উত্তরটির অনুলিপি ছাড়া আর ভাল নয়।
রায়েডওয়াল্ড

26

আমি যে আইপি এর অধীনে দেখা হচ্ছে তা পেতে আমি এটি ব্যবহার করতে পছন্দ করি

curl -x http://proxy_server:proxy_port https://api.ipify.org?format=json && echo

আশা করি এটি কাউকে সাহায্য করবে।


19

আপনি মান যুক্ত করে ( উইন্ডোজ) ফাইলটিতে curlপ্রক্সি কনফিগার করতে পারেন , বাক্য গঠনটি হ'ল:~/.curlrc_curlrcproxy

proxy = http://username:password@proxy-host:port

এটাই! কয়েক বছর আগে সেই ফাইলে প্রক্সি সেটিংটি কনফিগার করা হয়েছিল এবং আজ অবাক হয়েছিল যে কেন কার্ল এখন আর কাজ করে না প্রক্সি অ্যাড্রেস পরিবর্তিত হয়েছে এবং এনভিভি ভারসেস সব ঠিক আছে। তার জন্য ধন্যবাদ!
ইমেল

15

কেবলমাত্র সমস্ত দুর্দান্ত বর্ণিত উত্তরের সংক্ষিপ্তসার:

curl -x http://<user>:<pass>@<proxyhost>:<port>/ -o <filename> -L <link>

8

প্রমাণীকরণ সহ একটি প্রক্সি সহ আমি ব্যবহার করি:

curl -x <protocol>://<user>:<password>@<host>:<port> --proxy-anyauth <url>

কারণ, আমি জানি না কার্ল কেন HTTP [গুলি] _প্রক্স পরিবেশের ভেরিয়েবলগুলি ব্যবহার করে / ধরে না /



3

আপনি http[s]_proxyযদি কেবল একটি অফ কমান্ডের জন্য প্রক্সি সেট করে থাকেন তবে আপনাকে শেল পরিবর্তনশীল রফতানি করতে হবে না । যেমন

http_proxy=http://your.proxy.server:port curl http://www.example.com

এটি বলেছিল, আমি পছন্দ করতাম curl -xযদি আমি জানতাম আমি সর্বদা একটি প্রক্সি ব্যবহার করতে যাচ্ছি।


2

আপনার কর্মক্ষেত্রের উপর নির্ভর করে, আপনাকে সিএ শংসাপত্রগুলি সহ অতীত সম্ভাব্য সমস্যাগুলি পেতে কার্লের জন্য -kবা --insecureকার্লের বিকল্পটি নির্দিষ্ট করতে হবে।

curl -x <myCompanyProxy>:<port> -k -O -L <link to file to download>

1
sudo curl -x http://10.1.1.50:8080/ -fsSL https://download.docker.com/linux/ubuntu/gpg

এটি আমার জন্য পুরোপুরি কাজ করেছিল, ত্রুটিটি আসে কারণ কার্লকে প্রক্সি সেট করা প্রয়োজন need

রিমেমবার্স প্রক্সিটি আপনার প্রক্সি, আমার সাথে প্রতিস্থাপন করবে, "উদাহরণস্বরূপ" ছিল http://10.1.1.50:8080/


0

যদি প্রক্সিটি প্যাক ফাইলের সাথে স্বয়ংক্রিয় প্রক্সি ব্যবহার করে। আমরা প্যাক ইউআরএল থেকে জাভাস্ক্রিপ্ট থেকে আসল প্রক্সি খুঁজে পেতে পারি।

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

তারপরে আমরা http_proxy এনভায়রনমেন্ট ভেরিয়েবল সেট করতে পারি এবং http হেডারে এথ টোকেনও অন্তর্ভুক্ত করতে পারি: প্রক্সি-অনুমোদন

রফতানি করুন http_proxy = http: // প্রক্সি সার্ভার: পোর্ট

কার্ল-এইচ "প্রক্সি-অনুমোদন: xxxx" http: // লক্ষ্য URL

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