418: আমি একটি চাঁচা


68

যেমনটি আমাদের সকলের জানা উচিত, একটি এইচটিটিপি স্থিতি কোড রয়েছে 418: আমি একটি চাঁচি

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

সহ স্ট্যান্ডার্ড লুফোলগুলি প্রযোজ্য

বাহ্যিক উত্স থেকে কাঙ্ক্ষিত আউটপুট আনয়ন

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

এর অর্থ আপনি কেবল অন্য সার্ভারে অনুরোধটি পুনরায় প্রতিক্রিয়া ফিরিয়ে আনতে পারবেন না।


সার্ভার কার্যকারিতা সম্পর্কে কিছু বিভ্রান্তির সমাধান:
আপনার সার্ভারটি কোনও কিছু করতে পারে (বা কিছুই নয়) যতক্ষণ না কোনও এইচটিটিপি অনুরোধ না করা হয় যতক্ষণ না এটি এইচটিটিপি অনুরোধ করা হয়ে গেলে সঠিক উত্তর দিয়ে উত্তর দেয়।


15
প্রতিটি এবং প্রতিটি HTTP অনুরোধ? অবশ্যই একটি কফির জন্য কেবল: ইউআরআই?
ডেভ

3
আমরা কি ধরে নিতে পারি আমাদের ইতিমধ্যে মূল অধিকার রয়েছে? (উদাহরণস্বরূপ (80) বন্দরটি বাঁধুন ঠিক আছে)
ডিজিটাল ট্রমা

2
@ ডিজিটালট্রামা হ্যাঁ, আপনি আপনার সার্ভারের জন্য বর্ধিত সুবিধাগুলি ধরে নিতে পারেন।
নিট

4
@ কেনার্ড আমি কোন দিকে ঝুঁকছি, আপনি কোনও প্রোগ্রাম লিখছেন না, আপনি কেবল একটিটি কনফিগার করছেন।
নিট

2
ঈশ্বর. আইওটি চারপাশে আসার সাথে সাথে, এই স্থিতি কোডটির একটি আসল কারণ থাকতে পারে!
আলোকিত

উত্তর:


39

জিএনইউ আওক: characters৯ টি অক্ষর

একটি সার্ভার নিজেই (অবিরাম একযোগে একটি অনুরোধ পরিবেশন করে), কোনও লাইব্রেরি ব্যবহৃত হয়নি।

সংযোগকারী প্রত্যেককে 418 পাঠান ( 82 69 টি অক্ষর):

BEGIN{while(s="/inet/tcp/80/0/0"){print"HTTP/1.1 418\n"|&s
close(s)}}

যারা কিছু প্রেরণ করেন তাদের প্রত্যেককে 418 পাঠান ( 93 80 টি অক্ষর):

BEGIN{while(s="/inet/tcp/80/0/0"){s|&getline
print"HTTP/1.1 418\n"|&s
close(s)}}

বৈধ HTTP GET অনুরোধ ( 122 109 টি অক্ষর) প্রেরণকারী প্রত্যেককে 418 পাঠান :

BEGIN{while(s="/inet/tcp/80/0/0"){s|&getline
if(/^GET \S+ HTTP\/1\.[01]$/)print"HTTP/1.1 418\n"|&s
close(s)}}

তবে .. কিভাবে সংযোগ করব? ;)
অপ্টিমাইজার

5
আপনি যে কোনও ওয়েব সার্ভারের সাথে একইভাবে সংযুক্ত হন। ব্রাউজার, netcat, telnet, wget, curl, অন্য গনুহ awkস্ক্রিপ্ট, ... তাত্ত্বিকভাবে এটা স্থানীয় হোস্ট উপর শুনছে: 80, কিন্তু যে 1) কোন ওয়েব সার্ভারের জন্য স্কাইপ বা অন্যান্য প্রোগ্রাম বন্দর 80 ব্যবহার করা উচিত; 2) 1024 এর নীচে পোর্টগুলি খোলার জন্য আপনাকে সুপার ব্যবহারকারী হতে হবে So সুতরাং পরীক্ষার জন্য স্ক্রিপ্টে পোর্ট নম্বরটি সম্পাদনা করা 8080 ( s="/inet/tcp/8080/0/0") এর মতো কিছুতে সম্পাদন করা সহজ ( তারপরে এর সাথে সংযোগ স্থাপন করুন। পেস্টবিন.
com

2
আমি দেখি. কুল। অজু নুব এখানে :)
অপটিমাইজার

1
আপনি সম্ভবত 8 এর মতো ছোট পোর্ট ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন যা নিযুক্ত।
হ্যানস কারপিলা 20'16

@ হান্নেস কার্পিলা, এটি সঠিক। তবে প্রদত্ত যে অন্য সমস্ত সমাধান যা স্পষ্টভাবে একটি বন্দর নির্দিষ্ট করে (হাস্কেল উত্তরের পোর্ট ৮৮৮৮ ব্যতীত) পোর্ট ৮০ ব্যবহার করে, আমি তুলনীয়তার জন্য এটি আরও ভাল রাখি।
manatwork

32

বাশ (33)

nc -lp80 -q1<<<"HTTP/1.1 418
";$0

3
দুটি নতুন লাইন প্রয়োজনীয়? আমার কাছে কেবল একটির সাথে ঠিক আছে বলে মনে হচ্ছে। এছাড়াও আমার গণনা অনুসারে উপরেরটি 34 বাইট - আমি অনুমান করছি যে আপনার সম্পাদকটি একটি অপ্রয়োজনীয় নিউলাইন যুক্ত করছে বা \0আপনার ফাইলের শেষের দিকে - আপনি truncateএটি করতে পারেন এবং এটি এখনও কার্যকর হয়। s='echo HTTP/1.1 418|nc -lp80 -q1;$0' ; echo ${#s}আমার জন্য 33 দেয়
ডিজিটাল ট্রমা

@ ডিজিটালট্রামা: আপনি ঠিক বলেছেন - চূড়ান্ত নিউলাইনটি এখানে স্ট্রিংগুলিতে স্বয়ংক্রিয়ভাবে যুক্ত হয়: কেন এখানে বাশ এখানে একটি স্ট্রিং একটি নূতন লাইন চর যুক্ত করে? ------ তবে আমি দুটি সম্ভাব্য সমস্যা দেখতে পাচ্ছি: ১. স্ক্রিপ্টটি প্রত্যাশা করে যে এটি কোনও একটি $PATHডিরেক্টরিতে সঞ্চিত রয়েছে বা এটি একটি পথ দিয়ে বলা হয়েছিল (দ্বারা পুনরুক্তি $0)। ----- 2. এইচটিটিপি-র প্রয়োজন লাইনগুলি \r\nকেবলমাত্র দ্বারা শেষ করা উচিত নয় \n। এখানে স্ট্রিংটি হওয়া উচিত $"HTTP/1.1 418\r\n\r"(দীর্ঘ পঠনযোগ্য ফর্ম)। ------ এবং অবশেষে: স্ক্রিপ্টটি আরও ছোট হতে পারে: -q1প্যারামিটারটি প্রয়োজনীয় নয়।
pabouk

2
@ ডিজিটালট্রামা, @ পাবউক: আউটপুটটির দুটি নতুন লাইনের সাথে শেষ হওয়া দরকার। সুতরাং নতুন লাইনের একটি অপ্রয়োজনীয় ছিল (এখানে স্ট্রিংয়ের কারণে), তবে echoরূপটি কাজ করে না (কমপক্ষে ফায়ারফক্স এটিকে 418 হিসাবে স্বীকৃতি দেবে না)। তবে \rএস এর দরকার নেই। অনুমানটি বলছে এটি হওয়া উচিত \r\n\r\n, তবে কমপক্ষে ফায়ারফক্স এবং ক্রোম গ্রহণ করবে \n\n, সুতরাং এগুলি অন্তর্ভুক্ত না করার জন্য এটি গল্ফিংয়ের চেতনায় রয়েছে বলে মনে হয়। -q1পরামিতি, আমার সিস্টেমে প্রয়োজনীয় ছিল কারণ ব্রাউজার নিজে সংযোগ বন্ধ হবে না। $0স্ক্রিপ্টটি কার্যকরভাবে তৈরি করা হয় এবং সেই উপায়ে কল করা থাকলে তা ঠিক কাজ করে।
মেরিনাস

@ মারিনাস আকর্ষণীয় - আমি wgetযা পরীক্ষা করেছি যা ঠিক একটাই নতুন লাইনের সাথে ঠিক আছে
ডিজিটাল ট্রমা

1
@pabouk - জবর স্নিপেট এখানে w3.org/Protocols/HTTP/OldServers.html : "লাইন হিসাবে লাইন ফিড দ্বারা সমাপ্ত গণ্য করা উচিত, এবং preceeding গাড়ি ফেরত চরিত্র উপেক্ষিত"
ডিজিটাল ট্রমা

30

পিএইচপি - 85 বাইট

<?for($s=socket_create_listen(80);socket_write(socket_accept($s),"HTTP/1.1 418
"););

উইন্ডোজ-স্টাইল (সিআর-এলএফ) লাইন শেষের সাহায্যে সংরক্ষিত, php_socketsসক্ষম হওয়া দরকার ।

আমি এটি হার্ড কোড গল্ফের জন্য আমার ত্রুটি কোড হিসাবে প্রকৃতপক্ষে ব্যবহার করেছি : একটি চ্যাটরুম চ্যালেঞ্জ তৈরি করুন , কিন্তু কেউ লক্ষ্য করেনি।


ব্রাউজার-বান্ধব সংস্করণ

<?for(socket_getsockname($s=socket_create_listen(80),$n);$t="I'm a teapot";socket_write($c=socket_accept($s),"HTTP/1.0 418 $t
Content-Length: $l

<title>418 $t</title><h1>$t</h1>The requested resource is not suitable for brewing coffee.<hr><i>$n:80</i>"))$l=124+strlen($n);

স্ক্রিপ্টটি সিএলআইতে শুরু করুন এবং আপনার ব্রাউজারটি এখানে দেখান http://localhost


1
ব্যবহারকারীর দুর্যোগের জন্য +1 / I'm a teapot:-)
Levit

20

নোড.জেএস (লাইভস্ক্রিপ্ট)

http মডিউল - 66

require(\http)createServer (->&1.writeHead 418;&1.end!) .listen 80

কুয়ের্তির উত্তর দ্বারা অনুপ্রাণিত ।

net মডিউল - 76

require(\net)createServer (->it.write 'HTTP/1.1 418\r\n';it.end!) .listen 80

2
যে ব্যক্তি বিবেচ্যতা কেন ব্যাখ্যা করতে পারে?
nyuszika7h

20

রুবি + র্যাক, 19 বাইট

run->e{[418,{},[]]}

অবশ্যই সংরক্ষণ করা উচিত config.ruএবং rackupকমান্ডটি দিয়ে চালানো উচিত ।

বা আপনি যদি "খাঁটি" রুবি পছন্দ করেন:

Rack::Handler::WEBrick.run->e{[418,{},[]]}

42 বাইট + -rrackপতাকা = 48 বাইট


12

বাশ + বিএসডি জেনারেল কমান্ড, ২৯

অন্যান্য উত্তর থেকে কিছুটা backণ নেওয়া:

nc -lp80<<<"HTTP/1.1 418
";$0

আমার সাথে কাজ করে wget

ব্যবহারের প্রথম উত্তর nc, 38

for((;;)){
nc -l 80 <<<HTTP/1.1\ 418
}

আমি মূল সুবিধাগুলি ধরে নিচ্ছি - নিম্নলিখিত হিসাবে চালান:

sudo bash ./418.sh

3
@ ub3rst4r Cor درست - এ কারণেই আমি "বিএসডি জেনারেল কমান্ড" উল্লেখ করেছি, যা শেল স্ক্রিপ্টিংয়ের দৃষ্টিকোণ থেকে "গ্রন্থাগার" হিসাবে বিবেচিত হতে পারে। ওপি থেকে: "সমস্ত লাইব্রেরি স্বাগত জানায়"
ডিজিটাল ট্রমা

2
একটি প্রতিক্রিয়া অবশ্যই একটি নতুন লাইনের সাথে শেষ হতে হবে, w3.org/Protocols/HTTP/Response.html দেখুন
নিট

2
@ নীট - হ্যাঁ - বাশ "এখানে স্ট্রিংস" স্বয়ংক্রিয়ভাবে একটি নতুন লাইনের সাথে সংযুক্ত হবে
ডিজিটাল ট্রমা

1
কেমনnc -l 80 <<<HTTP/1.1\ 418;$0
কোর 1024

1
দুটি স্পেস নিয়ে বিভ্রান্তির জন্য দুঃখিত। আমি লক্ষ্য করেছি না যে আপনি -pস্যুইচটি ব্যবহার করেননি :) আমি ফায়ারফক্সের সাথে কোডটি পরীক্ষা করেছি এবং দুটি নতুন লাইন ছাড়া স্থিতি কোডটি স্বীকৃত নয়।
pabouk

9

রুবি (এনসি সিস্টেম কমান্ড) - 35

loop{`nc -l 80 <<<"HTTP/1.1 418"`}

ডিজিটালট্রামার ব্যবহারের ধারণার জন্য কৃতিত্ব পাওয়া উচিত nc, তবে রুশ বাশের চেয়ে কম অক্ষর সহ একটি অসীম লুপ তৈরি করতে পারে :)

রুবি (টিসিপিএসবার) - 75

require'socket'
s=TCPServer.new 80
loop{(s.accept<<'HTTP/1.1 418
').close}

এই নিউলাইনটি ইচ্ছাকৃত - আসল নিউলাইন চরিত্রটি "\ n" এর চেয়ে ছোট একটি চরিত্র।

রুবি (ওয়েব্রিক এইচটিপিএস সার্ভার) - 87

require'webrick'
(s=WEBrick::HTTPServer.new).mount_proc(?/){|_,r|r.status=418}
s.start

একটি প্রতিক্রিয়া অবশ্যই একটি নতুন লাইনের সাথে শেষ হতে হবে, w3.org/Protocols/HTTP/Response.html দেখুন
নিট

1
@DigitalTrauma, আমি ব্যবহার করতে যাচ্ছিলেন, কিন্তু তারপর উপলব্ধি ব্যাকস্ল্যাশ সঙ্গে অন্য backslash পলান করা প্রয়োজন, তাই এটি যাহাই হউক না কেন একই সংখ্যক অক্ষর হত :)
ট্রে টমাস

@ ট্রে থমাস ওহ আমি দেখি - সুতরাং রুবিকে এখানে অতিরিক্ত স্তরের পলায়ন দরকার
ডিজিটাল ট্রমা

8

নোড.জেএস, 80

require('http').createServer(function(q,s){s.writeHead(418);s.end()}).listen(80)

প্রতিক্রিয়া হয়

HTTP/1.1 418 I'm a teapot
Date: Wed, 19 Nov 2014 21:08:27 GMT
Connection: keep-alive
Transfer-Encoding: chunked

0

2
আমি এটি দেখতে পেয়েছি যে দুর্দান্ত নোড সেই ত্রুটি কোডটি স্থানীয়ভাবে সমর্থন করে
লেভিট

8

পাইথন 3 106

s=__import__('socket').socket(2,1) 
s.bind(('',80))
s.listen(9)
while 1:s.accept()[0].send('HTTP/1.1 418\n')

1
উপর ভিত্তি করে hallvabo এর মন্তব্য মধ্যে পাইথন মধ্যে golfing জন্য টিপস , from socket import*;s=socket(AF_INET,SOCK_STREAM)খাটো।
manatwork

@ মানাটওয়ার্ক ধন্যবাদ, অসীম লুপের আরও একটি ছোট উপায় আছে? আমি টিপসের মধ্যে
একটিও পাইনি

3
while 1:s.accept()[0].sendall(bytes('HTTP/1.1 418\n','UTF8'))- যদি না আমি কিছু মিস করি (যাইহোক, ভাষা একটি নতুন অক্ষরগুলিকে যেমন নতুন অক্ষরগুলি গণনা করতে পারে তা নির্দ্বিধায় অনুভব করুন That এইভাবে আপনি কমান্ডগুলি নতুন ;
লাইনের

প্রশ্ন মালিকের মন্তব্য অনুসারে আপনি 80 বন্দরটি অ্যাক্সেসযোগ্য বলে ধরে 2 অক্ষর কেটে দিতে পারেন । একটি কুরুচিপূর্ণ জিনিস যা বহনযোগ্যতা ভঙ্গ করতে পারে, তবে এটি এখানে গ্রহণযোগ্য হতে পারে: ধ্রুবকের মানগুলি সরাসরি ব্যবহার করুন s=socket(2,1)(কমপক্ষে সেগুলি আমার লিনাক্সে তাদের মানগুলি)।
manatwork

ডকুমেন্টেশনগুলির listen()পরামিতিগুলির জন্য বলা হয়েছে যে "সর্বাধিক মান সিস্টেম-নির্ভর (সাধারণত 5)"। সুতরাং 10, 9 এর পরিবর্তে এটি যথেষ্ট এবং 1 টি অক্ষরের চেয়ে কম। এবং bytes('HTTP/1.1 418\n','UTF8')আক্ষরিক পরিবর্তে b'HTTP/1.1 418\n'যথেষ্ট। অথবা আপনি যদি পাইথন 2 কোডটি তৈরি করেন তবে bবাইটসফেসিক্সটির আর দরকার নেই। এবং খাটোও send()যথেষ্ট বলে মনে হচ্ছে।
manatwork


5

টিসিএল (> = 8.5), 78 বাইট

সম্পাদনা করুন - সম্মতির জন্য অতিরিক্ত একটি নতুন লাইন (মোট 2 টি নতুন লাইন) যুক্ত হয়েছে।

socket -server {apply {{c - -} {puts $c "HTTP/1.1 418
";close $c}}} 80
vwait f

একটি প্রতিক্রিয়া অবশ্যই একটি নতুন লাইনের সাথে শেষ হতে হবে, w3.org/Potocols/HTTP/Response.html দেখুন
নিট

3
@ নিট - হ্যাঁ, টিএনসিএল পুটগুলি স্বয়ংক্রিয়ভাবে একটি নতুন লাইন যুক্ত হবে, যদি না -নাওলাইন বিকল্পটি না দেওয়া হয়। tcl.tk/man/tcl/TclCmd/puts.htm
ডিজিটাল ট্রমা

5

জুলিয়া: 86 73 টি অক্ষর

s=listen(80)
while 1<2
c=accept(s)
write(c,"HTTP/1.1 418

")
close(c)
end

আমি মনে করি না যে আপনার আসল "আমি একটি চাঁচি" অংশ প্রয়োজন - প্রতিক্রিয়া কোডটি যথেষ্ট হওয়া উচিত।
Desty

হ্যাঁ, আমি এটি লক্ষ্য করেছি। তবে জুলিয়ার স্কোরে এটি তেমন কোনও সহায়তা করবে না আমি এটি সম্পূর্ণ রেখে দিয়েছি। তবে ভাষাগুলির তুলনা করার সুবিধার্থে এটি মুছে ফেলা ভাল।
manatwork

5

পাওয়ারশেল, 398

$Listener = New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Parse("10.10.10.10"), 80)
$Listener.Start()
while($true)
{
    $RemoteClient = $Listener.AcceptTcpClient()
    $Stream = $RemoteClient.GetStream()
    $Writer = New-Object System.IO.StreamWriter $Stream
    $Writer.Write("HTTP/1.1 418 I'm a Teapot`nConnection: Close`n`n")
    $Writer.Flush()
    $RemoteClient.Close()
}

258

$l=New-Object System.Net.Sockets.TcpListener([System.Net.IPAddress]::Parse("10.10.10.10"),80);$l.Start();while($true){$r = $l.AcceptTcpClient();$s = $r.GetStream();$w = New-Object System.IO.StreamWriter $s;$w.Write("HTTP/1.1 418`n`n");$w.Flush();$r.Close()}

5

আর, 80 টি অক্ষর

আর এর সাথে সকেট প্রোগ্রামিং আগে কখনও করেনি, তবে আমি এটি দিয়ে চেষ্টা করব:

repeat{s=socketConnection(,80,T,open="r+");cat("HTTP/1.1 418\n",file=s);close(s)}

এখানে socketConnectionএকটি সকেট খোলে: প্রথম যুক্তিটি হোস্ট হওয়া উচিত, ডিফল্ট হওয়ার কারণে localhostআমরা এখানে এড়াতে পারি; দ্বিতীয় যুক্তি হ'ল বন্দরটি যার কোনও ডিফল্ট নেই, তারপরে serverনির্দিষ্ট হয়ে গেলে যুক্তিটি TRUEসকেট তৈরি করে, যদি FALSEএটি কেবল একটি বিদ্যমানটির সাথে সংযোগ করে। Tডিফল্টরূপে, TRUEআর এর সমান হয় is

সম্পাদনা: @ অ্যালেক্সব্রাউন দ্বারা প্রস্তাবিত সম্পাদনা অনুসারে, এটি 69 টি অক্ষরে সংক্ষিপ্ত করা যেতে পারে :

repeat cat("HTTP/1.1 418\n",file=s<-socketConnection(,80,T))+close(s)

4

নোড.জেএস কোয়া , 61 বাইট

require('koa')().use(function*(){this.status=418}).listen(80)

প্রতিক্রিয়া:

HTTP/1.1 418 I'm a teapot
X-Powered-By: koa
Content-Type: text/plain; charset=utf-8
Content-Length: 12
Date: Thu, 20 Nov 2014 07:20:36 GMT
Connection: close

I'm a teapot

নোড v0.11.12 + প্রয়োজন

হিসাবে চালান:

node --harmony app.js

কি function*?
nyuszika7h

2
এটি একটি জেনারেটর ফাংশন , ইসমাস্ক্রিপ্ট 6 এর অংশ, সম্প্রীতির প্রস্তাব।
cPu1

4

শেল + সোকাট, 60

socat tcp-l:80,fork exec:'printf HTTP/1.1\\ 418\\ T\r\n\r\n'

echo -e HTTP/1.1 418 T\r\n\rখাটো হয়।
জিমি 23013

\\ Tএমনকি প্রয়োজন হয় না।
nyuszika7h

3

ম্যাটল্যাব, 97 86 বাইট

নিরঙ্কুশ বাইট-কাউন্টের ক্ষেত্রে কোনও গুরুতর প্রতিযোগী নয়, তবে আমি এটি পোস্ট করতে চাই কারণ গণিতের সরঞ্জামটি ব্যবহার করে পুরোপুরি কার্যকরী ওয়েবসারভারটি লেখা সম্ভব হবে বলে আমি মনে করি না। সম্পত্তি সংক্ষিপ্তকরণের ব্যবহারটি নোট করুন : 'Ne','s'অভ্যন্তরীণভাবে প্রসারিত হয় 'NetworkRole', 'server'

t=tcpip('0.0.0.0','Ne','s');while 1
fopen(t)
fprintf(t,'HTTP/1.1 418\n')
fclose(t)
end

3

আপনি .htaccessফাইল এবং পিএইচপি ব্যবহার করে ন্যূনতম চেষ্টা করে এটি করতে পারেন ।

আপনার সার্ভারে সমস্ত অ্যাক্সেস 418 স্থিতি ফিরিয়ে দেবে।

নীচে কোডটি দেওয়া হল:

.htaccess (28 বাইট)

RewriteRule .* index.php [L]

পিএইচপি ( 38 19 বাইট)

<<?header(TE,1,418);

আমাকে প্রচুর বাইট সংরক্ষণ করার জন্য @ প্রিয়মোকে ধন্যবাদ !


আমি এটি পরীক্ষা করেছি এবং নিশ্চিত করে এটি পছন্দসই ফলাফলটি দেয়!

http://i.stack.imgur.com/wLb9p.png

যাইহোক, "পেডিডো" অর্থ "অনুরোধ" এবং "রেসপোস্টা" এর অর্থ "উত্তর"।


-1, এটি একটি সম্পূর্ণ প্রোগ্রাম নয়। এটি একটি বাহ্যিক ওয়েব সার্ভারের উপর নির্ভর করে।
nyuszika7h

@ nyuszika7h আসলে, এটি মডিউল হিসাবে ইনস্টল করা পিএইচপি সঙ্গে অ্যাপাচি উপর নির্ভর করে। আপনার যুক্তি বৈধ এবং অবৈধ উভয়ই। অ্যাপাচি কেবল পিএইচপি ফাইলে অ্যাক্সেসগুলি পুনঃনির্দেশ করে, পিএইচপি ফাইল কোডটির যত্ন নেয়।
ইসমাইল মিগুয়েল

@ nyuszika7h আমরা যদি সেই স্তরটিতে নীচে চলে যাই তবে আপনি নিজের পিএইচপি কোড চালাতে কনসোলটিও ব্যবহার করতে পারবেন না। আপাচি স্টার্টার। ট্রিগার যা গুলি চালায়। কনসোল থেকে পিএইচপি ফাইল চালনা, কনসোলটিকে ট্রিগার হিসাবে তৈরি করবে।
ইসমাইল মিগুয়েল

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

@ nyuszika7h এটি অবৈধ থাকলে ওপি ইতিমধ্যে জানিয়েছিল।
ইসমাইল মিগুয়েল

2

কফিস্ক্রিপ্ট সহ নোড.জেএস (76)

require("connect")().use((q,s,n)->s.writeHead 418;s.end();return;).listen 80

এটি কেবল জাভাস্ক্রিপ্টে সংকলন করুন, তারপরে আপনাকে চালানো দরকার npm install connect। এর পরে এটি দিয়ে শুরু করুনnode server.js


2

nginx - 35

events{}http{server{return 418;}}

এটিকে nginx.conf এ নিক্ষেপ করুন gin

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


আপনি কি বাদ দিলে এটি এখনও কাজ করবে ;?
সিরিল

+ 4 / -4: বিতর্ক ভাল হয়েছে: ডি
বিড়াল

2

পার্ল, 78

use Web::Simple;sub dispatch_request{sub{[418,[],[]]}}__PACKAGE__->to_psgi_app

হিসাবে চালান plackup whatever.pl


আপনি যদি একটি প্ল্যাক অ্যাপ্লিকেশন চান, তবে কেবল sub{[418,[],[]]}পর্যাপ্ত হওয়া উচিত। (16 অক্ষর।)
tobyink

অবশ্যই ঠিক বলেছেন! এটি এমন নয় যে আমি কোনও ফ্রেমওয়ার্ক ব্যবহার করছি , কেন এটি লোড করবেন? :)
hobbs

@ টোবাইঙ্ক এটিকে আপনার নিজের হিসাবে জমা দিতে নির্দ্বিধায় মনে করেন :)
hobbs

2

পাইথন 2.7 / জ্যাঙ্গো, 94 বাইট

(এর থেকে ডিফল্ট বয়লারপ্লেট থেকে যুক্ত django-admin.py startproject) urls.py এ:

import django.http.HttpResponse as r;urlpatterns=patterns(url(r'^*$',lambda q:r(status=418)))

1

সি # + ওউইন 251 240

আমি সত্যিই আশা করছিলাম এটি আরও কম হবে, তবে দীর্ঘ নেমস্পেসগুলি সেই পরিকল্পনাটি নষ্ট করে দিয়েছে। Microsoft.Owin.SelfHostনিউগেটে উপলব্ধ প্যাকেজটির প্রয়োজন ।

using Owin;class P{static void Main(){Microsoft.Owin.Hosting.WebApp.Start<P>("http://localhost");while(0<1);}public void Configuration(IAppBuilder a){a.Run(c=>{c.Response.StatusCode=418;return System.Threading.Tasks.Task.FromResult(0);});}}

1

সংযোগের সাথে নোড.জেএস (78)

require('connect')().use(function(q,s,n){s.writeHead(418);s.end()}).listen(80)

আপনার npm install connectআগে চালানো দরকার । তারপরে এটি শুরু করুনnode server.js


1

যান, 162 বাইট

package main
import "net/http"
func main(){http.HandleFunc("/",func(w http.ResponseWriter,r *http.Request){w.WriteHeader(418)})
http.ListenAndServe(":80", nil)
}

1

ফ্যাক্টর, 101 141 বাইট

[ utf8 <threaded-server> readln 10 base> >>insecure [ "HTTP/1.1 418\r" print flush ] >>handler [ start-server ] in-thread start-server drop ]

যারা সংযুক্ত হয় তাদের কাছে 418 ফিরুন।


1

জাভা 7, 208 বাইট

import java.net.*;class R{public static void main(String[]a)throws Exception{for(ServerSocket s=new ServerSocket(80);;){Socket p=s.accept();p.getOutputStream().write("HTTP/1.0 418\n".getBytes());p.close();}}}

এই প্রশ্নের একটি জাভা উত্তর দরকার।

poke@server ~
$ curl -i localhost:80
HTTP/1.0 418

স্থিতি বার্তা কোথায়?
কিওয়ারটি

@ কিওয়ার্টি আমার মনে হয় এই প্রশ্নটি কেবলমাত্র স্থিতির কোডের জন্য জিজ্ঞাসা করে যা আমি পূর্ণসংখ্যা হিসাবে ব্যাখ্যা করি, সুতরাং এটি অনুসরণ করে যে স্থিতি বার্তা / কারণ কঠোরভাবে প্রয়োজন হয় না।
অকর্মা

আমার ইচ্ছা করা নয়, তবে আমি মনে করি এটি স্ট্যাটাস পাঠ্যের সাথে হওয়া উচিত।
কিওয়ারটি

3
ইতিমধ্যে জাভা 8 পান> _>
পাভেল

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