কম্পিউটার ইন্টারনেটের সাথে সংযুক্ত কিনা তা পরীক্ষা করে দেখুন


49

একটি প্রোগ্রাম লিখুন যা স্ক্রিপ্টটি ইন্টারনেটে অ্যাক্সেস পেয়েছে কিনা সে অনুযায়ী একটি আউটপুট তৈরি করে যা "সত্যবাদী / ফালসি" । আপনি নিজের বিবেচনার ভিত্তিতে যে কোনও বিদ্যমান সাইটের সাথে সংযোগ করতে পারেন (কোনও ছায়াময় সাইট ব্যবহার করবেন না যার কেবলমাত্র 10% আপটাইম রয়েছে - বার্ষিক 80% এর উপরে রাখার চেষ্টা করুন)। সাইটটি ডাউন থাকলে আপনার প্রোগ্রামে কাজ করতে হবে না

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

সিউডোকোড উদাহরণ:

function a:
    try:
        connect to internet 
        return 1
    catch error:
        return 0

কোড গল্ফে এটি আমার প্রথম পোস্ট, তাই এটি যদি কোনওভাবেই কোনও নিয়ম লঙ্ঘন করে বা ডুপ হয় তবে দয়া করে আমাকে সতর্ক করুন।

সম্পাদনা: অসংখ্য পরামর্শের কারণে আমি ইউটিএফ -8 বাইট গণনা নিষেধাজ্ঞা সরিয়েছি


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

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

4
আমি দেখতে পাচ্ছি প্রায় প্রত্যেকেই g.gl/http://g.gl/ ব্যবহার করছে , তবে to./http://to./ মনে হচ্ছে এটি একটি বাইট ছোট হ'ল (সমস্ত ভাষাগুলি এটিকে বৈধ url হিসাবে দেখতে পাবে না)।
কেভিন ক্রুইজসেন

9
কমোডোর বেসিক:PRINT "0"
চিহ্নিত করুন

3
আমি যে মেশিনটিতে এটি টাইপ করছি এটি প্রযুক্তিগতভাবে "ইন্টারনেট" এর একটি অংশ, এটি বাইরে থেকে অ্যাক্সেস করা যায় (NAT এবং পোর্ট ফরওয়ার্ডিংয়ের মাধ্যমে)। সুতরাং, যদি আপনি এটির কথা চিন্তা করেন, তবে "ইন্টারনেট সনাক্তকরণ" স্ক্রিপ্টটি সম্ভবত "সত্য" তে হ্রাস করা যেতে পারে :)
জেপেলিন

উত্তর:


29

বাশ ( ডানসুটিল সহ ), 3 বাইট

"" এর জন্য একটি ডিএনএস অনুরোধ পাঠায়। (ডিএনএস রুট), প্রস্থান কোড সাফল্যের জন্য 0 এবং অন্যথায় 0 হয়।

Golfed

dig

পরীক্ষা

% dig >/dev/null; echo $?;        
0

% nmcli nm wifi off
% dig >/dev/null; echo $?;
9

দাবি পরিত্যাগী

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

তবে আমি ধরে নিই এটি নিয়মের , স্পষ্টতই একাধিক সিস্টেম রয়েছে যেখানে এটি উদ্দেশ্য হিসাবে কাজ করে।

খাঁটি-এইচটিটিপি পদ্ধতিগুলি মধ্যবর্তী ক্যাশে প্রক্সিটির কারণেও মিথ্যা ইতিবাচক দিক দিতে পারে এবং সর্বত্র কাজ করার গ্যারান্টিযুক্ত নয়, সুতরাং এই পদ্ধতির কাছে এটি অনন্য কিছু নয়।

কিছুটা বেশি নির্ভরযোগ্য সংস্করণ, 8 বাইট

dig +tra

(@ ডিগ ইতালি ট্রাম উমাকে একটু শ্রদ্ধা জানাই !)

"ট্রেস মোড", যা বাধ্য করা হবে সক্ষম করে খনন (দেখুন নিজে রিকার্সিভ অনুসন্ধান করতে https://serverfault.com/a/778830 ), কোন ক্যাশে সমস্যা এড়ানো।


এর থেকে উদ্ধৃতি man dig: নির্দিষ্ট নাম সার্ভারের জন্য কোয়েরি না করা হলে, ডিগ /etc/resolv.conf এ তালিকাভুক্ত প্রতিটি সার্ভার চেষ্টা করবে । যদি কোনও ব্যবহারযোগ্য সার্ভারের ঠিকানা না পাওয়া যায়, তবে ডিগ স্থানীয় হোস্টের কাছে ক্যোয়ারী প্রেরণ করবে ।
তিতাস

@ টিটাস, হ্যাঁ যা সঠিক, আমার উত্তরটির "অস্বীকৃতি" অংশটি দেখুন, তবে যতক্ষণ না আপনার ডিএনএস সার্ভার (আপনার রেজোলভকন্টে উল্লিখিত) আপনার সরবরাহকারীর পক্ষে রয়েছে ততক্ষণ এটি দুর্দান্ত কাজ করে।
জেপেলিন

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

1
> আপনার সমাধানটি কোনও অ-ডিফল্ট ইনস্টল নোপের উপর নির্ভর করে, এটি ঠিক কিভাবে এটি আমার মেশিনে কাজ করে (এবং এটি মেটা অনুসারে ইতিমধ্যে যথেষ্ট)। তদুপরি, আপনার সরবরাহকারীর ডিএনএস সার্ভারটি ব্যবহার করা সত্যই একটি সাধারণ সেটআপ (এবং এটি সাধারণত আপনার রেজলভকন্টনেও থাকবে)।
জেপেলিন

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

19

বাশ + জিএনইউ ব্যবহার, 8

  • @ মুজারকে ধন্যবাদ 5 বাইট সংরক্ষণ করা।
wget to.

অন্যান্য শেল উত্তরগুলি রিটার্ন কোডটি পরীক্ষা করে এবং সেই অনুযায়ী কিছু স্থিতির আউটপুট প্রতিধ্বনিত করে। এটি অপ্রয়োজনীয়। শেল রিটার্ন কোডটি ইতিমধ্যে ব্যবহারযোগ্য সত্যবাদী / ফালসি কোড এবং $?প্যারামিটারে অ্যাক্সেসযোগ্য যা ব্যাশের জন্য মূর্তিযুক্ত । রিটার্ন কোড 0 এর অর্থ সত্য। রিটার্ন কোড> 0 এর অর্থ মিথ্যা।

ব্যাবহৃত হচ্ছে:

ubuntu@ubuntu:~$ wget to.
--2017-01-13 09:10:51--  http://to./
Resolving to. (to.)... 216.74.32.107, 216.74.32.107
Connecting to to. (to.)|216.74.32.107|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11510 (11K) [text/html]
Saving to: index.html.6

index.html.6        100%[===================>]  11.24K  --.-KB/s    in 0.04s   

2017-01-13 09:10:51 (285 KB/s) - index.html.6 saved [11510/11510]

ubuntu@ubuntu:~$ echo $?
0
ubuntu@ubuntu:~$ sudo ifconfig ens33 down
ubuntu@ubuntu:~$ wget to.
--2017-01-13 09:11:00--  http://to./
Resolving to. (to.)... failed: Temporary failure in name resolution.
wget: unable to resolve host address to.’
ubuntu@ubuntu:~$ echo $?
4
ubuntu@ubuntu:~$ sudo ifconfig ens33 up
ubuntu@ubuntu:~$ # Local network up, upstream link down
ubuntu@ubuntu:~$ wget to.
--2017-01-13 09:11:34--  http://to./
Resolving to. (to.)... failed: Name or service not known.
wget: unable to resolve host address to.’
ubuntu@ubuntu:~$ echo $?
4
ubuntu@ubuntu:~$ 

2
অনেক to.বেশি 8.8.8.8সঞ্চয় করার পরিবর্তে ডোমেন ব্যবহার করুন ।
মুজার

@ মুজার হ্যাঁ - ধন্যবাদ
ডিজিটাল ট্রমা

2
@ মুজার যদি এমন কোনও স্থানীয় না থাকে যেখানে রেজলভারটি সন্ধানের toজন্য কনফিগার করা থাকে তবে এটি ডানদিকে যাবে (এবং সম্ভবত কোনও স্থানীয়কে পিং করতে সক্ষম হবে ) ইন্টারনেটের সাথে সংযুক্ত হওয়ারto পক্ষে যথেষ্ট
ক্রিশ্চিয়ান সিভারস

2
@ মুজার ঠিক আছে, toকখনও কখনও কাজ করে এবং কখনও কখনও হয় না। আমার ধারণা কিছুটা ক্যাচিং চলছে। আমি to.কেবল সুরক্ষার জন্য ব্যবহার করব ।
ডিজিটাল ট্রমা

4
কেন এটি একটি বৈধ ডোমেন?
কোস

9

ব্যাচ, 8 বাইট

ping to.

pingঠিকানাটি সমাধান করা বা না পৌঁছানো সম্ভব না হলে সেট ERRORLEVELকরা হবে 1


7

05 এ বি 1 , 11 9 বাইট

"টু" তে 2 বাইট সংরক্ষণ করা হয়েছে। ev3 কম্যান্ডার সৌজন্যে

…to..wgX›

Http: // থেকে সামগ্রীর দৈর্ঘ্য কিনা তা পরীক্ষা করে । 1 এর চেয়ে বড়
.wহয় ত্রুটিতে 0 প্রদান করে।


1
05AB1E উত্তরের জন্য সর্বদা একটি +1
ওয়র্সডফান্ট

@ ওয়ার্সডোনাট এবং এটি কেন?
mbomb007

3
@ mbomb007 আদনান এতে কাজ শুরু করে এবং এটি এখানে পোস্ট করার পর থেকেই ভাষার প্রচুর অনুরাগী হয়ে উঠেছে; এটি অবশ্যই আকর্ষণীয় ভাষা language
ওয়ার্সডোনাট

1
@ ওয়ার্সডোনাট উত্তর ইতিমধ্যে একটি হাইপার লিঙ্ক আছে।
mbomb007

আপনি কি সংযোগ করতে পারবেন না একটি বাইট সংরক্ষণ করতে?
ev3commander

5

এমএটিএল , 15 14 বাইট

কেভিন ক্রুইজসেনের পরামর্শের জন্য একটি বাইট সংরক্ষিত হয়েছে

'http://to.'Xi

আউটপুট STDOUT এর মাধ্যমে হয়। এটিতে যদি কোনও ইন্টারনেট সংযোগ থাকে তবে এটি শূন্য-অক্ষরযুক্ত অক্ষরবিহীন স্ট্রিং প্রদর্শন করে (যা সত্য সত্য); এবং কোনও সংযোগ না থাকলে কিছুই প্রদর্শন করে না (যা মিথ্যা) is

এটি অনলাইন পরীক্ষা করা যায় না কারণ Xiঅনলাইন দোভাষীদের মধ্যে এটি অনুমোদিত নয়।

ব্যাখ্যা

'http://to.'  % Push this string
Xi            % Return contents of that URL as a string. If there is no Internet
              % connection this gives an error, with no output on STDOUT

আপনি urlread('http://g.gl')নিজে থেকে একটি ঠিক উত্তর হিসাবে বিবেচনা করবেন? এটি ত্রুটি করবে এবং সংযোগটি বন্ধ থাকলে ওয়ার্কস্পেসটি খালি ছেড়ে দেবে। এটি একটি ত্রুটি বার্তা প্রদর্শন করবে, তবে প্রযুক্তিগতভাবে এটি এসটিডিআরআর ...? আমি ভাবলাম এটি কিছুটা প্রসারিত, সুতরাং আমি এটি এইভাবে করেছি । তবে এড়িয়ে যাওয়া tryআপনার কোডের মতোই ফলাফল দেয় বলে মনে হচ্ছে, বা? খালি খালি ছেড়ে দাও তুমিও না? দারুণ উত্তর ... :)
স্টিভি গ্রিফিন

@ স্টেভিগ্রিফিন ধন্যবাদ! হ্যাঁ, আমি মনে করি urlread('http://g.gl')বৈধ (এবং আমার কোডের মতোই), যেমনটি এসটিডিআরআর ডিফল্টরূপে উপেক্ষা করা হয় এবং ম্যাটল্যাবে একটি খালি এসটিডিউটি ​​মিথ্যা হয়
লুইস মেন্ডো

1
এর ftpপরিবর্তে এই কাজ করবে http- অন্য একটি বাইট সংরক্ষণ করুন?
ফ্লোরিস

1
@ ফ্লোরিস আপনাকে এখানে দেখতেও ভালো লাগছে! দুর্ভাগ্যক্রমে ftpthat সাইটের পক্ষে কাজ করছে বলে মনে হচ্ছে না
লুইস মেন্ডো

1
হ্যালো @ লুইসমেন্দো হ্যাঁ আমি মাঝে মধ্যে অন্যান্য সাইটগুলি ছড়িয়ে দিয়ে দেখি ... খুব খারাপ যে এফটিপি কাজ করে না!
ফ্লোরিস

5

বাশ 66 62 21 বাইট

ping -c1 g.gl echo $?

ইউআরএল সংক্ষিপ্তকরণের জন্য @ অ্যালেক্স এলকে ধন্যবাদ।

অবরুদ্ধ সংস্করণ:

r=$(ping -c1 g.gl)
if [ $? -ne 0 ];
 then echo "0"
else echo "1"
fi

বাশের মধ্যে এটি আমার প্রথম উত্তর, আমি নিশ্চিত না যে আমি স্ক্রিপ্টটি যথেষ্ট ছোট করেছি।


আমি মনে করি আপনি google.com এর চেয়ে সংক্ষিপ্ত URL ব্যবহার করতে পারেন, যা আপনাকে কোডটি ছোট করার অনুমতি দেয় ten G.gl এর মতো কিছু
হাইপারনিউট্রিনো

3
আপনার echo $?যদি বিবৃতি দেওয়া হয় তবে তার পুরো পরিবর্তে আপনি সক্ষম হবেন ।
SomethingDark

4
;গল্ফড লাইনে আপনি "কিছু" মিস করেছেন ।
ইপুর সিরার

@ ইপুরসিরসার ধন্যবাদ। :) @ সামিথিং ডার্ক হ্যালো, সাফল্যের জন্য echo $? একটি মুদ্রণ করে 0, অন্যথায় এটি এক্ষেত্রে ফিরে আসে 2। আমি বাস্তবায়নের উত্স কোডটি সন্ধান pingকরি নি তবে আমি ধরে নিচ্ছি, স্টুয়েশনের উপর নির্ভর করে বিভিন্ন রিটার্ন কোড রয়েছে। সুতরাং, আমি if elseকৌশল ব্যবহার করেছি ।
আবেল টম

@ আবেলটম - এটি যুক্তিযুক্ত হতে পারে যে 0 সত্যবাদী এবং অ-0 মিথ্যা।
SomethingDark

5

আর, 20 বাইট

curl::has_internet()

curlপ্যাকেজে ঠিক এই কাজের জন্য একটি ফাংশন রয়েছে ।


1
+1 সুন্দর সন্ধান করুন। আমার মতো function() !is.null(nslookup("r-project.org", error = FALSE))
কৌতুহলীদের

সমমানের গণনা: httr::url_ok('g.gl')(হ্রাস থাকলেও)।
জোনাথন ক্যারল

5

জাভা, 72 বাইট

a->new java.net.InetSocketAddress("to.",80).getAddress().isReachable(9);

3
আপনাকে পুরোপুরি যোগ্যতাসম্পন্ন নামটি নির্দিষ্ট করতে হবেjava.net.InetSocketAddress

4

পার্ল, 15 বাইট

print`curl to.`

সাথে চালান:

perl -e 'print`curl to.`' 2> /dev/null

curlআউটপুট স্টাফ চালু STDERR, তাদের কিছু মনে করবেন না। কম্পিউটারে যদি ইন্টারনেটে অ্যাক্সেস থাকে তবে এটি এইচটিএমএল (সত্যবাদী) এর কয়েকটি লাইন প্রিন্ট করবে, অন্যথায়, এটি কিছুই মুছবে না (মিথ্যা)।

@ কেভিন ক্রুইজসেনকে ধন্যবাদ to.(আমার আগের পরিবর্তে b.io) ব্যবহার করে 1 বাইট সংরক্ষণ করা হয়েছে।


আপনি কি বাশে স্যুইচ করতে এবং এটি সরাতে পারবেন না print?
ব্লুরাজা - ড্যানি পিফ্লুঘুফুট

1
@ ব্লুরাজা-ড্যানিপ্লুঘুফুট ইয়ুপ, এটি কার্যকর হবে (যদিও ইতিমধ্যে ব্যাশটিতে একটি উত্তর রয়েছে (তারা wgetপরিবর্তে curlএটি ব্যবহার করে তবে এটি একই জিনিস))।
দাদা

4

সি #, 87 বাইট

_=>{try{new System.Net.WebClient().OpenRead("http://g.gl");return 1;}catch{return 0;}};

যদি কোনও ব্যতিক্রমটিকে মিথ্যা হিসাবে বিবেচনা করা হয়, যা আমি এটি মনে করি না, তবে এটি 65 বাইট:

_=>new System.Net.WebClient().OpenRead("http://g.gl").ReadByte();

http://to.@ কেভিন ক্রুজেনসেনের বর্ণিত লিঙ্কটি ব্যবহার করার চেষ্টা করেছি কিন্তু এটি কার্যকর হয়নি বলে মনে হয়েছে।


4

8 ম , 23 21 বাইট

কেভিন ক্রুইজসেনের পরামর্শ এবং আমার আবিষ্কারকে দুটি বাইট সংরক্ষণ করেছে :http: // হিসাবে কাজ হিসাবে মনে হয়http: // থেকে । (অন্য একটি বাইট সংরক্ষণ)

"http://to" net:get .

যদি সাইটটিতে http: // এ পৌঁছানো যায় তবে এটি মুদ্রণ করে true। অন্যথায় এটি মুদ্রণ false। এটি স্ট্যাকের পুনরুদ্ধার করা ডেটা ছেড়ে দেয়।


1
টিওএস মানে টি ওপ এফ এস ট্যাক। আমি মনে করি আপনার মানে এটি স্ট্যাকের উপর কেবল ডেটা ফেলেছে।
রোমান গ্রাফ

সেটা ঠিক. আমি আমার ব্যাখ্যা উন্নত। ধন্যবাদ।
বিশৃঙ্খলা

@ ev3commander আপনি কি http: // দিয়ে চেষ্টা করেছেন ? এটি আমার ক্ষেত্রে কাজ করে (আমি একটি অ্যাপাচি 2 উবুন্টু ডিফল্ট পৃষ্ঠা দেখি)। দেখে মনে হচ্ছে 'যোগ করার দরকার নেই'। বা '/'
বিশৃঙ্খলা

3

ম্যাটল্যাব, 32 22 বাইট

urlread('http://g.gl')

ব্যাখ্যা:

যদি ইন্টারনেট সংযোগটি শেষ হয়, এর ফলস্বরূপ ans(ডিফল্ট ভেরিয়েবল) প্লেইন পাঠ্যে পুরো এইচটিএমএল-কোডের সাথে স্ট্রিং হয়ে উঠবে (যা ম্যাটল্যাবে সত্য )।

যদি ইন্টারনেট সংযোগটি বন্ধ থাকে তবে এটি এসটিডিআরআরকে একটি ত্রুটি বার্তা লিখবে এবং কর্মক্ষেত্রটি খালি ছেড়ে দেবে (যা ম্যাটল্যাবে মিথ্যা )।

দুর্ভাগ্যক্রমে, urlreadএকটি সম্পূর্ণ url- ঠিকানা প্রয়োজন , তাই g.glযথেষ্ট নয়। 22 বাইটের মধ্যে 11 টি কেবলমাত্র url- ঠিকানা।


বিকল্প পথ বা পন্থা:

একটি সমাধান যা ত্রুটিটি ধরা পড়ে এবং সংযোগটি বন্ধ থাকলে ওয়ার্কস্পেসে 0 (এছাড়াও মিথ্যা ) রেখে দেয়:

0;try urlread('http://g.gl'),end

0;ডিফল্ট পরিবর্তনশীল সূচনা ansকরতে 0, যা falseম্যাটল্যাব হবে। তারপরে আমরা tryইউআরএল পড়তে পারি । এটি ইন্টারনেট সংযোগ বন্ধ থাকলে ত্রুটি দেয় বা একটি অক্ষর অ্যারে না থাকলে (যা trueম্যাটল্যাবে রয়েছে)।

আমাদের কিছু ধরার দরকার নেই, তাই আমরা শেষ করছি। Urlread কল সফল হয়েছে, তাহলে ansওয়েবসাইটের কন্টেন্ট সঙ্গে একটি দীর্ঘ স্ট্রিং অন্যথায় হবে ans=0


3

বাশ, 39 বাইট

exec 4<>/dev/tcp/to./80&&echo 1||echo 0

1
! exec 4<>/dev/tcp/to./80;echo $?
জেসেন

বা যদি আপনার সত্য / মিথ্যা মুদ্রণের প্রয়োজন না হয় তবে কেবল এটি ফেরত দিতে পারেনexec 4<>/dev/tcp/to./80
জেসেন

3

জাভাস্ক্রিপ্ট ES6, 71 43 বাইট

fetch``.then(a=>alert(1)).catch(a=>alert``)

সতর্কতাগুলি অনলাইনে থাকলে 1, অফলাইন থাকলে একটি খালি স্ট্রিংটি সতর্ক করে। আমাকে কিছু বাইট ছাঁটাই করতে সহায়তা করার জন্য প্যাট্রিক রবার্টসকে ধন্যবাদ

পুরাতন রুপ

_=>fetch('http://enable-cors.org').then(a=>alert(a)).catch(a=>alert(0))

সতর্কতা [object Reponse]যদি অনলাইন, সতর্কতা 0যদি অফলাইনে

কোড স্নিপেট সরানো হয়েছে, এটি কাজ করে না কারণ এটি সিওআরএস ব্যতীত অন্য কোনও ডোমেন থেকে লোড হয় তবে এটি ব্রাউজার কনসোলে কাজ করে


হুম। আমি সংযুক্ত থাকাকালীন এটি সঠিকভাবে "সত্য" মুদ্রণ করে তবে আমার ব্রাউজারে এটি সংযোগ বিচ্ছিন্ন এবং চালানো হলে এটি কিছু মুদ্রণ করে না। আপনি কোন ব্রাউজার / ওএস এটিতে পরীক্ষা করেছেন? আমি ক্রোম-উইন 7 ব্যবহার করছি
ডিজেএমসিএমহেম

@ ডিজেএমসিএমহেম আপনার ক্যাশে কেমন আছে?
ইসমাইল মিগুয়েল

@ ডিজেএমসিমেহেম আমি ক্রোম, উইন 10-এ পরীক্ষা করেছি। নেটওয়ার্ক ট্যাব থেকে ক্যাশে অক্ষম করা হয়েছে এবং অফলাইন / অনলাইনে পরীক্ষার জন্য অফলাইন চেক করা হয়েছে
জাঞ্চি

এটি 52 বাইটে একটি সম্পূর্ণ প্রোগ্রাম হতে পারে:fetch('://to.').then(a=>alert(1)).catch(a=>alert(0))
প্যাট্রিক রবার্টস

2

জাভাস্ক্রিপ্ট ES6, 90 81 বাইট

f=a=>{i=new Image();i.src="//placehold.it/1x1";i.onload=b=>a(1);i.onerror=c=>a()}

জাভাস্ক্রিপ্ট ES6, 22 21 বাইট (অবৈধ)

কিছু ব্রাউজার পুরোপুরি সমর্থন করে না, বা নেভিগেটর.অনলাইন ব্যবহার করার সময় প্রত্যাশিত ফলাফল তৈরি করে।

f=a=>navigator.onLine

2
এই উত্তরটি সূচিত করে যে ইন্টারনেটে সংযুক্ত না থাকা অবস্থায় এটি সর্বদা মিথ্যা ফিরবে না
ব্লু

ল্যাম্বডায় একটি প্যারামিটার যুক্ত করে আপনি বাইট সংরক্ষণ করতে পারেন:f=a=>
XavCo7

1
যদিও আপনার উত্তরটি এখনও অবৈধ বলে মনে হচ্ছে, আপনি পরিত্রাণ পেতে পারেন f=
মামা ফান রোল

1
78 বাইট: a=>{with(new Image()){src="//placehold.it/1x1";onload=b=>a(1);onerror=c=>a()}}´ (got rid of f = `এবং ব্যবহৃত with(){})
ইসমাইল মিগুয়েল

2

স্কালা, 54 বাইট

x=>(Runtime.getRuntime exec "ping -c 1 ai."waitFor)<1

বেশ সহজ; এতে একটি পিং কমান্ড কার্যকর করে http://ai./এবং যদি এটি 0 বা অন্যথায় মিথ্যা দিয়ে প্রস্থান করে তবে এটি সত্য করে।


2

ব্রেইনফাক (প্রতিযোগিতা না করা) 21 বাইট

++++++[>++++++++<-]>.

ব্রেইনফাক ইন্টারনেটে সংযোগ করতে পারে না (যতদূর আমি জানি), সুতরাং যেহেতু প্রোগ্রামটি সংযোগ করতে অক্ষম, তাই উত্তরটি সর্বদা 0

অ-প্রতিযোগিতামূলক কারণ এটি হার্ড-কোডড আউটপুট স্ট্যান্ডার্ড লুফোলের আওতায় পড়ে বলে মনে হচ্ছে , যদিও এই প্রোগ্রামটি চ্যালেঞ্জের জন্য প্রযুক্তিগতভাবে সঠিক।


ব্রেইনফাক সংযোগ করতে পারে না, তবে আমি যে কম্পিউটারটিতে এটি চালাচ্ছি তা এখনও ইন্টারনেটে সংযুক্ত হতে পারে (না)। একটি সঠিক ব্রেইনফাক সমাধান এমন একটি প্রোগ্রাম যা সর্বদা "আমি জানি না" প্রতিক্রিয়া জানায়
কোস

2
@ কোস "আমি জানি না" সত্যবাদী / মিথ্যা নয়
রেজিওসন

এটি "আমি জানি না", এটি "আমি উত্তরটি তাই উত্তর করতে পারি না"
কোডি

হতে পারে কেবল বাইট '\ 0' মুদ্রণ করুন এটি 0 এর থেকে আপনার 0 বাইটের একটি কোড থাকবে
12431234123412341234123

2

পাওয়ারশেল, 64 26 23 বাইট

শন এসটারম্যানকে ধন্যবাদ 38 টি বাইট সংরক্ষণ করা হয়েছে

ব্রেন্টিস্টকে ধন্যবাদ 3 বাইট এবং মেরামত স্ক্রিপ্ট সংরক্ষণ করা হয়েছে

Test-Connection -q g.gl

পরীক্ষা-সংযোগ-কিউট থেকে।
শন এস্টারম্যান

পাওয়ারশেল সমাধান করতে পারে না to., g.glপরিবর্তে আপনাকে ব্যবহার করতে হবে। অতিরিক্তভাবে আপনি এটি সংক্ষিপ্ত করতে পারেন Test-Connection -q g.gl
ব্রিটিশবাদী

2

পিএইচপি, 23 পিএইচপি + কার্ল, 14

পিএইচপি এর ব্যাকটিক অপারেটর ব্যবহার:

<?=`curl to.`;

মূল উত্তর:

আমি একটি শুরু করার চেষ্টা করব:

<?=file('http://x.gl');

X.gl পৌঁছাতে না পারলে এবং Arrayযদি হয় তবে এটি কিছুই করে না।

আর একটি সংস্করণ যেখানে আমি ফিট না সেগুলি সম্পর্কে নিশ্চিত নই:

<?=getmxrr('x.gl',$a);  // 22 chars

4
পুনরায় "এটি একটি ফাঁকফোকর", আমি মনে করি যে সাধারণ sensকমত্য এটি একটি ভাষা উপভাষার হিসাবে গণনা করে (সুতরাং উত্তরটি পিএইচপি + কার্ল, 15 বাইট )।

একটি অ্যারে কি সত্য বলে গণ্য হয়? আমি যদিও যাইহোক এটি প্রতিযোগিতা করার অনুমতি দেব, কারণ এটি আমার প্রশ্ন। মাত্র আগ্রহের বাইরে।
রেজিওসন 10

@ রিস্টোসন পিএইচপি একটি অ্যারেটিকে স্ট্রিংতে রূপান্তর করে "Array"যখন আপনি এটি মুদ্রণ করার চেষ্টা করবেন ( <?=) এবং বুলিয়ান মিথ্যা রূপান্তরিত হবে ""। সুতরাং আসল রিটার্ন মানটি একটি অ্যারে নয় তবে একটি খালি স্ট্রিং বা একটি খালি স্ট্রিং।
ক্রিস্টোফ

@ ক্রিস্টফ আমি "অ্যারে" সত্যবাদী বা মিথ্যা হিসাবে গণ্য করি না বলে মনে করি
রেজিওসন

@ রিস্টিওসন এটি একটি স্ট্রিং যা স্পষ্টতই বুলিয়ানকে সত্যে রূপান্তরিত করে। একটি শাখা if ("Array") echo 'thruthy';নেওয়া হবে সুতরাং এটি সত্য । খালি স্ট্রিংটি শাখা গ্রহণ করবে না এবং তাই এটি মিথ্যা।
ক্রিস্টোফ

2

পাইথন 3 + অনুরোধ, 59 55 53 বাইট

একটি অনুরোধ উত্তর থাকতে হবে, তাই না?

from requests import*
try:get("http://to.")
except:Z

প্রস্থান স্থিতি ইন্টারনেটের জন্য 0, কোনও ইন্টারনেটের জন্য নয়। উদাহরণ:

$ python inet.py 
$ echo $?
0
$ # Remove ethernet cable
$ python inet.py 
$ echo $?
1

পরিবর্তণের:

  • -4 বাইট (ধন্যবাদ মেগো)

আপনি একটি আলাদা প্রোটোকল ( ftp, সম্ভবত) ব্যবহার করে এবং এটি সংক্ষিপ্ত করতে পারেন except:0/0
মেগো

@ মেগো আমি মনে করি অনুরোধগুলি কেবলমাত্র http (গুলি) করে। আমি 0/0 যোগ করেছি।
matsjoyce

1

এলিক্সির, 33 বাইট

{:ok,_}=:inet.getaddr('to',:inet)

সংযুক্ত থাকলে 0, অন্যথায় 1



1

গণিত 10 বাইট

ধরে নিচ্ছি আপনার কাছে ম্যাথমেটিকার একটি বৈধ অনুলিপি এবং ইউজারআরওয়ালফ্রাম.কম এ লগইন শংসাপত্র রয়েছে

CloudPut@1

মেঘে 1 মান লিখবে। সত্যবাদী: ক্লাউডবজেক্ট [""] মিথ্যা: iled ব্যর্থ

CloudGet@%

মেঘে আপলোড করা হয়েছে এমন 1 মানটি ফিরিয়ে দেবে।


1
মনে রাখবেন যে ডিফল্টরূপে, আরপিএল স্নিপেটগুলি অনুমোদিত নয়। &এটি পরে একটি নামহীন ফাংশন তৈরি করতে পরে রাখুন ।
LegionMammal978

আপনি কি আমাকে একটি লিঙ্কে নির্দেশ করতে পারেন?
কেলি লোডার


1
আমার মতে, এটি এখানে সেরা উত্তর। কিন্তু মেঘ বস্তু কি সত্য বলে গণ্য হবে? আমি বলব যে মেঘের মধ্যে 1 টি সত্য, যদিও। চমৎকার উত্তর!
রেজিওসন

@ লিজিওনম্যামাল ৯78৮, আমি কোডটি একটি ডাব্লুএল প্যাকেজ ফাইলে রাখতে পারি এবং এটি মূল প্রশ্ন অনুসারে অনুমোদিত হিসাবে "প্রোগ্রাম" হিসাবে চালাতে পারি। সাধারণত এই ধরণের প্রশ্নগুলি ইনপুটগুলির সাথে একটি ক্রিয়াকলাপের ডাক দেয়; কোন ব্যবহারকারী ইনপুট প্রয়োজন। তদ্ব্যতীত, একটি ফাংশন হিসাবে আমার সত্যবাদী / মিথ্যা পরীক্ষা করা ঠিক যেমন & এর সাথে বা ছাড়াও কাজ করে। ইন CloudPut@1&===$Failed& একেবারে কোন পার্থক্য তোলে। শেষ অবধি, প্রোগ্রামটি উভয়ই আউটপুটটি রিটার্ন করে এবং মুদ্রণ করে, সুতরাং এটি যেমন প্রস্তাবিত হয় তেমন কোনও রিপল স্নিপেট নয়।
কেলি লোদার

1

পাইথন 2.7, 70 77 বাইট

from urllib import*
a=1
try:urlopen('http://to.')
except:a=0
print a

import urllib as l
try: 
 l.urlopen('http://a.uk')
 print 1
except:
 print 0

সত্যবাদিতার জন্য 1 ব্যবহার করে, মিথ্যা বলার জন্য 0 ব্যবহার করে। a.uk একটি মোটরবাইক পোশাক সংস্থায় পুনঃনির্দেশ করে। একটি ভেরিয়েবল এবং মুদ্রণ করে 3 বাইট সংরক্ষণ করা হয়েছে। এবং "টু" এর জন্য অন্য একটি। কৌতুক (urllib সঙ্গে কাজ করার জন্য নিশ্চিত), pesky ইনডেন্ট পরিত্রাণ পেতে দুটি।


আমি মনে করি from urllib import*একটি চর সংরক্ষণ করতে পারে (এবং l.অবশ্যই ড্রপ )।
নিক টি

@ নিকটি আমি ভুলে গিয়েছিলাম যে আপনি স্থানটি ড্রপ করতে পারেন importএবং *তাই আমি মনে করি আপনি ঠিক আছেন তবে আমি মোবাইলে রয়েছি এবং পরে এটি ঠিক করব
ক্রিস এইচ

1

জুলিয়া + বাশ (ডিসুটিলেট সহ), 10 বাইট

run(`dig`)

`command`জুলিয়ায় এমন একটি cmdবস্তু তৈরি হয় যা চালানো যায় run


0

ক্লোজার, 49 বাইট

#(try(slurp"http://to.")1(catch Exception _ nil))

ফেরত পাঠায় 1যদি এটা সংযুক্ত হতে পারেন এবং nilঅন্যথায়।

কেবল slurpপৃষ্ঠায় চেষ্টা করা ; NoRouteToHostExceptionব্যর্থতার উপর একটি ব্যতিক্রম ছোঁড়া , যা ধরা পড়ে।

দুর্ভাগ্যক্রমে, প্রোটোকল এবং ডট বাধ্যতামূলক বলে মনে হয়।


0

জাভাস্ক্রিপ্ট (ন্যাশর্ন), 61 বাইট

print(new java.net.InetSocketAddress("to.",80).getAddress())

হান্ট্রোর জাভা উত্তরের উপর ভিত্তি করে।

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