মতামত দিন


16

টাস্ক:

এমন একটি প্রোগ্রাম তৈরি করুন যা এই প্রশ্নের একটি মন্তব্য দেয়। বিষয়বস্তু হওয়া উচিত 1234567890123456

সম্পাদনা:

  1. আপনি আপনার ব্যবহারকারীর নাম এবং পাসওয়ার্ডগুলি হিসাবে Uএবং Pযদি আপনি ব্যবহারকারীর নাম এবং পাসওয়ার্ড ব্যবহার করছেন তবে রেখে যেতে পারেন। (যদি গ্রহণযোগ্য)

  2. কোনও ইউআরএল শর্টনারস নেই (প্রযোজ্য ক্ষেত্রে)

  3. আপনি ব্রাউজার কনসোল ব্যবহার নাও করতে পারেন।


27
দয়া করে এই চ্যালেঞ্জের শেষে আপনার ইনবক্সের একটি স্ক্রিনশট পোস্ট করুন ...
মার্টিন ইন্ডার

1
লোকেদের কোডটি পরীক্ষার জন্য: দয়া করে আপনার মন্তব্যগুলি জমা দেওয়ার পরে মুছে ফেলুন, এই চ্যালেঞ্জ সম্পর্কে মন্তব্যগুলি অপ্রয়োজনীয়ভাবে দীর্ঘ এবং স্প্যামি হওয়া থেকে রক্ষা করতে এবং মোডগুলির কাজ আরও সহজ করার জন্য।
মেগো

1
অন্য কেউ কি মনে করে না যে এটিকে সংজ্ঞায়িত করা হয়েছে? লাইক, আমি কীভাবে করবো? প্রশ্নগুলি কি স্বাবলম্বী হওয়া বোঝায় না? এপিআই ডক্সের লিঙ্কটি কোথায়?
বিড়াল

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

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

উত্তর:


11

JQuery, 127 বাইট সহ জাভাস্ক্রিপ্ট

$.post("//codegolf.stackexchange.com/posts/84546/comments",{comment:"12345678901‌​23456",fkey:StackExchange.options.user.fkey})

ইসমাইল মিগুয়েল এবং নিকেলকে কয়েক বাইটের জন্য ধন্যবাদ।

fkeyপরামিতি আপনার অ্যাকাউন্টে অনন্য, এবং একটি StackExchange পৃষ্ঠাটি খোলা উপাদান সহ আপনার ব্রাউজার এর স্থানীয় সংগ্রহস্থল বিষয়বস্তু পরীক্ষা দ্বারা পাওয়া যেতে পারে। এই কোডটি অবশ্যই একটি উন্মুক্ত স্ট্যাকএক্সচেঞ্জ সেশন সহ একটি ব্রাউজারে চালানো উচিত। এটি fkeyব্রাউজারের স্থানীয় স্টোরেজ থেকে প্যারামিটারটি স্বয়ংক্রিয়ভাবে লোড হয় (এই জমা দেওয়ার পূর্ববর্তী সংস্করণগুলিতে এটি ম্যানুয়ালি প্রবেশ করা প্রয়োজন)।

দুর্ভাগ্যক্রমে, ppcg.lolইউআরএল ব্যবহার করা যাবে না, কারণ এটি পোস্টের অনুরোধগুলি পাস করে না।

মজাদার ঘটনা: আপনি যদি সঠিক fkeyমান ব্যতীত এই কোডটি চালানোর চেষ্টা করেন তবে আপনি এইচটিটিপি 418 প্রতিক্রিয়া পাবেন:

চা তৈয়ারি করার পাত্র

কীভাবে fkeyChrome এ মানটি পাওয়া যায় তার উদাহরণ :

fkey

স্পষ্টতই উইন্টারব্যাশ স্টাফ সংরক্ষণ করা হচ্ছে। ঝরঝরে।

রেফারেন্সের জন্য, ভ্যানিলা জাভাস্ক্রিপ্টে একই জিনিসটি 314 বাইট হবে (কিছুটা বাইট বন্ধের জন্য আবার ইসমাইল মিগুয়েল এবং নিকেলকে ধন্যবাদ):

with(new XMLHttpRequest()){
open("POST","//codegolf.stackexchange.com/posts/84546/comments",1)
setRequestHeader("Content-type","application/x-www-form-urlencoded")
setRequestHeader("Content-length",62)
setRequestHeader("Connection","close")
send("comment=1234567890123456&fkey="+StackExchange.options.user.fkey}))}

আমি এই লিখতে চলেছিলাম। দয়া করে একটি স্ট্যাক স্নিপেট যুক্ত করুন।
নন ইনি এখানে

আমি পছন্দ করি আপনি কীভাবে সেলেনিয়াম ব্যবহার না করে সাইটে অ্যাক্সেসের জন্য অনুরোধটি ব্যবহার করেন!
মিনক্রাফ্ট

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

3
কোডের একটি অক্ষরে ভুলক্রমে মূলধনটি মিস করার জন্য @ ইসমাইল মিগুয়েল ডাউনভোটিং কিছুটা হাস্যকর বলে মনে হচ্ছে, তবে এটিই আপনার আহ্বান। এটি এখন স্থির।
মেগো

2
@ ইসমাইল মিগুয়েল ডাউনভোটিং এর কারণে কিছুটা টাইপ হয়েছে।
মেগো

14

সাফারি, 269 287 বাইট সহ অ্যাপলস্ক্রিপ্ট

tell application "Safari"
activate
tell window 1
set current tab to (make new tab with properties {URL:"http://codegolf.stackexchange.com/q/84546"})
delay 5
do JavaScript "$('a')[66].click();$('textarea')[0].val('1234567890123456');$('input')[5].click()" in current tab
end tell
end tell

এটি ব্যবহারের জন্য আপনাকে সাফারি বিকাশকারী সেটিংস সক্ষম করতে হবে এবং তারপরে সক্ষম করতে হবে Allow JavaScript from Apple Events। আমি নিশ্চিত না যে এটি প্রতারণা করছে বা বিদ্যমান কীচেন + কুকিজ ব্যবহার না করে তবে ওহ ভাল।

আমি ওএসএক্স এর অটোমেটরে এটি করতে পেরেছি কেবল ক্লিকগুলি এবং কীস্ট্রোকগুলি স্বয়ংক্রিয় করেই তবে আমি মনে করি না যে এটি চ্যালেঞ্জের ধারণার সাথে সত্যই থেকেছে


2
হ্যালো, এবং পিপিসিজিতে আপনাকে স্বাগতম! এটা অসাধারণ! এটা প্রতারণা নয়। সমস্ত জাভাস্ক্রিপ্ট উত্তরের জন্য আপনাকে জেএস সক্ষম করতে হবে ।
নন ইনি এখানে

পিপিসিজিতে আপনাকে স্বাগতম! যদিও এটি অবশ্যই একটি সৃজনশীল উত্তর, এটি স্বয়ংসম্পূর্ণ নয়, কারণ এটি ব্যবহারকারীর নাম এবং পাসওয়ার্ডটিকে ইনপুট হিসাবে নেয় না।
প্যাট্রিক রবার্টস

1
@ সাইরেনস উত্তরের জন্য ধন্যবাদ। আমি কেবল প্রশ্নটি সম্পাদনা করেছি যাতে আপনি ইউআরএল সংক্ষিপ্ত ব্যবহার করতে পারবেন না?
মিনক্রাফ্ট

1
এটি কাজ করে বলে মনে হচ্ছে না ... মানে, এটি পতাকা লিঙ্কটিতে ক্লিক করে, মন্তব্য লিঙ্কে নয়।
নিকেল

1
ওপি ইউআরএল সংক্ষিপ্তকারীদের অনুমতি না দেওয়ার চ্যালেঞ্জটি সংশোধন করেছে, যা আপনি কোডগলফ.স্ট্যাকেক্সেঞ্জের.কমের জন্য ppcg.lol পরিবর্তন না করা পর্যন্ত এই উত্তরটিকে অবৈধ করে দেয়।
অ্যালেক্স এ।

7

সেলেনিয়াম ওয়েবড্রাইভার সহ পাইথন 3.5, 485 427 469 461 449 414 403 বাইট:

from selenium.webdriver import*;import time;D=Chrome();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()

একটি সাধারণ পাইথন সেলেনিয়াম ওয়েব ড্রাইভার সমাধান ব্যবহার করে একটি সম্পূর্ণ প্রোগ্রাম। Chrome এ কাজ করে, যদিও এটি কাজ করার জন্য ChromeDriver ইনস্টল করা দরকার । নাম পরিবর্তন করে Uএবং Pব্যবহারকারীর স্ট্যাক এক্সচেঞ্জ ইমেল এবং পাসওয়ার্ড যথাক্রমে কাজ করে। তবে, যদি ক্রোমড্রাইভার ইনস্টল করতে কোনও সমস্যা হয়, তবে এখানে একটি ফায়ারফক্স সমাধান রয়েছে যা উপরের সমাধানের মতো ঠিক একই পদ্ধতিতে কার্যকর হয় এবং কোনও ড্রাইভারের প্রয়োজন হয় না, যদিও বর্তমানে এটি 1 বাইট দীর্ঘকাল 414 404 বাইটে রয়েছে :

from selenium.webdriver import*;import time;D=Firefox();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()

এছাড়াও, যদি কোনও ফাংশনটি চাওয়া হয়, তবে এখানে একটি বেনাম ল্যাম্বডা ফাংশন ব্যবহার করে একটি সমাধান দেওয়া হচ্ছে, বর্তমানে এটি 513 455 497 489 477 449 431 বাইটে দাঁড়িয়ে এবং ব্রাউজার হিসাবে ক্রোম ব্যবহার করছে।

lambda U,P:exec("from selenium.webdriver import*;import time;D=Chrome();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()",locals())

তবে, যদি আবারও ক্রোমড্রাইভার সম্পর্কিত কোনও সমস্যা থাকে তবে এখানে একই ধরণের সমাধান রয়েছে তবে এবার ফায়ারফক্স ব্যবহার করে বর্তমানে ৪৪২ ৪৩২ বাইট দাঁড়িয়ে আছে :

lambda U,P:exec("from selenium.webdriver import*;import time;D=Firefox();I=lambda k:D.find_element_by_name(k);C='comment';D.get('http://www.codegolf.stackexchange.com/users/login');I('email').send_keys(U);Z=I('password');Z.send_keys(P);Z.submit();D.get('http://www.codegolf.stackexchange.com/questions/84546');D.find_element_by_link_text('add a '+C).click();E=I(C);E.send_keys('1234567890123456');time.sleep(1);E.submit()",locals())

আপনি এই ল্যাম্বদা ফাংশনগুলিকে কেবল ফাংশনটির বৈধ হিসাবে কোনও নাম পরিবর্তন করে এবং তারপরে আপনার ইমেল এবং পাসওয়ার্ড দিয়ে কোনও সাধারণ ফাংশনের মতো কল করে। উদাহরণস্বরূপ, যদি ফাংশনটির নামকরণ করা হয় তবে Hআপনি এটি পছন্দ করুন H(Email, Password)


সেলেনিয়াম ওয়েবড্রাইভারের সাথে পরিচয় করানোর জন্য আপনাকে অনেক ধন্যবাদ।
মালটিসেন

@ মালটিসেন কোনও সমস্যা নেই। :)
আর কাপ

Chromeএর চেয়ে কম Firefox?
Rɪᴋᴇʀ

@ EᴀsᴛᴇʀʟʏIʀᴋ ঠিক আছে, আমি এটি আগে ওয়েবড্রাইভারের সাথে কাজ করতে পারি না। আমার অবশেষে যদিও আছে, এবং আমার সমাধান এখন 11 বাইট সংক্ষিপ্ত! : ডি
আর কাপ,

2

আইওএসে 3 টি সুইট 2.2, 380 বাইট

let r = NSMutableURLRequest(URL:NSURL(string:"http://codegolf.stackexchange.com/posts/84546/comments")!)
r.HTTPMethod = "POST"
r.HTTPBody = try!NSJSONSerialization.dataWithJSONObject(["comment":"1234567890123456","fkey":UIWebView().stringByEvaluatingJavaScriptFromString("localstorage.getItem('se:fkey')")!],options:[])
NSURLSession.sharedSession().dataTaskWithRequest(r).resume()

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


6
stringByEvaluatingJavaScriptFromStringউজ্জ্বল
বিড়াল


2
আমি এখন রেগে গেছি। আমার চেয়ে বেশি ওবেস্টিটিভ-সি ঘৃণা করা সম্ভব বলে আমি মনে করি না ...
বিড়াল

0

সেলেনিয়াম ওয়েবড্রাইভার সহ জাভা 8, 684 বাইট:

import java.util.*;import org.openqa.selenium.*;import org.openqa.selenium.firefox.*;class Leave_a_Comment_PPCG_Challenge_Golfed_Version_1{static void Y(String U,String P){WebDriver D=new FirefoxDriver();D.get("http://www.codegolf.stackexchange.com/users/login");D.findElement(By.name("email")).sendKeys(U);WebElement Z=D.findElement(By.name("password"));Z.sendKeys(P);Z.submit();D.get("http://www.codegolf.stackexchange.com/questions/84546");D.findElement(By.linkText("add a comment")).click();WebElement V=D.findElement(By.name("comment"));V.sendKeys("1234567890123456");D.findElement(By.xpath("//input[@value='Add Comment']")).click();}public static void main(String[]a){Scanner I=new Scanner(System.in);Y(I.next(),I.next());}}

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


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