কীভাবে উইজেটের সাহায্যে লগইন পৃষ্ঠাটি পাবেন?


263

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

আমি লগইন পৃষ্ঠায় পোস্ট ডেটা ব্যবহার করে ব্যবহারকারীর নাম / পাসওয়ার্ডটি কীভাবে প্রেরণ করব এবং তারপরে সত্যায়িত ব্যবহারকারী হিসাবে প্রকৃত পৃষ্ঠাটি ডাউনলোড করব?


উত্তর:


341

ম্যানুয়াল পৃষ্ঠার ভিত্তিতে:

# Log in to the server.  This only needs to be done once.
wget --save-cookies cookies.txt \
     --keep-session-cookies \
     --post-data 'user=foo&password=bar' \
     --delete-after \
     http://server.com/auth.php

# Now grab the page or pages we care about.
wget --load-cookies cookies.txt \
     http://server.com/interesting/article.php

নিশ্চিত করুন যে --post-dataপ্যারামিটারটি সঠিকভাবে শতাংশ-এনকোডড (বিশেষত অ্যাম্পারস্যান্ডস!) বা অনুরোধটি ব্যর্থ হবে। এটি userএবং passwordসঠিক কীগুলি নিশ্চিত করুন ; আপনি লগইন পৃষ্ঠার এইচটিএমএল (আপনার ব্রাউজারের "উপাদান পরিদর্শন করুন" বৈশিষ্ট্যটি দেখুন এবং nameব্যবহারকারীর নাম এবং পাসওয়ার্ড ক্ষেত্রগুলিতে বৈশিষ্ট্যটি সন্ধান করে) সঠিক কীগুলি খুঁজে পেতে পারেন ।


10
প্রথম কমান্ডে কিপ-সেশন-কুকিজ যুক্ত করুন, না দ্বিতীয়?
ফিলিপ আলভারেজ

4
এর জন্য আপনার -p( --page-requisites) দরকার নেই ।
ündrük

14
এটি --delete-afterপ্রথম পুনরুদ্ধারে যোগ করার মতো যাতে আপনি ফলাফল পৃষ্ঠাটি লগইন করা থেকে শেষ না করেন
জিম হুনজিকার

2
আমি ত্রুটি WGET64: missing URLপাচ্ছি আমি পুরো ওয়াজেট কমান্ডটি এক লাইনে রেখে removed \ `
মোগলি

6
- প্রথম কমান্ডের জন্য কিপ-সেশন-কুকিজ প্রয়োজন। এটি ফাইলটিতে কুকি সংরক্ষণ করার সময় সেশন কুকিজ অন্তর্ভুক্ত করার জন্য প্রথম কমান্ডকে বলে। দ্বিতীয় কমান্ড কেবল সরবরাহিত ফাইল থেকে সমস্ত কুকি পড়তে পারে।
wadim

63

যদি আপনার একবারের ব্যবহারের প্রয়োজন হয় তবে আপনি ব্রাউজারের মাধ্যমে লগ ইন করতে পারেন এবং প্রয়োজনীয় হেডারগুলি অনুলিপি করতে পারেন:

স্ক্রিনশট বিকাশকারী সরঞ্জামসমূহ নেটওয়ার্কের ট্যাবে ব্যবহার "কার্ল হিসাবে অনুলিপি" (খোলার পরে পৃষ্ঠাটি পুনরায় লোড) এবং কার্ল এর হেডার পতাকা প্রতিস্থাপন -Hএবং --datawget হয় এর সঙ্গে --headerএবং --post-data


1
দুর্দান্ত সমাধান!
মেনেটেথ

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

খুব পরিষ্কার এবং সহজ সমাধান, +1!
ক্রেসিমির পেন্ডিক

এটি আমার পক্ষে কাজ করেছে, যেখানে wgetসঠিক কুকিটি নেই; আমি সন্দেহ করি যে ওয়েব পরিষেবা একাধিক বিভিন্ন জিইটি শিরোলেখের জন্য অনুসন্ধান করে, এমনকি "ব্যবহারকারী-এজেন্ট" বা "ক্যাশে-নিয়ন্ত্রণ" এর মতো আপাতদৃষ্টিতে গুরুত্বহীন বিষয়গুলিও মনে করে।
আর্থার

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

62

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

wget --no-cookies --header "Cookie: <name>=<value>" --post-data 'tab=search&name=+&personsubmit=Rechercher&keywords=&keywordsoption=allmine' https://moodle.unistra.fr/message/index.php


7
দুর্দান্ত টিপ এটি কার্যকর যখন আপনি নিজের মেশিন থেকে কুকি অ্যাক্সেস করতে পারেন এবং তারপরে কমান্ড লাইন থেকে অন্য হেডলেস মেশিন থেকে এটি ব্যবহার করতে পারেন। :)
টাক্সডুড

3
আপনি একই সময়ে একাধিক কুকি সেট করতে পারেন, - হেডার "কুকি: অ্যাক্সেস_ টোকেন = আই কেভিওয়াইজে; এক্সএসআরএফ-টোকেন = 5e10521 ডি"
ফিল সি

29

আমারও একই সমস্যা ছিল। আমার সমাধানটি ছিল ক্রোমের মাধ্যমে লগইন করা এবং কুকিজের ডেটা একটি পাঠ্য ফাইলে সংরক্ষণ করা। এটি সহজেই এই ক্রোম এক্সটেনশান দিয়ে সম্পন্ন হয়: ক্রোম কুকি.টেক্সট এক্সপোর্ট এক্সটেনশন

আপনি যখন কুকিজের ডেটা পাবেন, সেগুলি কীভাবে উইজেটের সাথে ব্যবহার করবেন সে সম্পর্কে একটি উদাহরণ রয়েছে। আপনাকে একটি সাধারণ কপি-পেস্ট কমান্ড লাইন সরবরাহ করা হয়েছে।


1
দুর্ভাগ্যক্রমে স্বয়ংক্রিয় স্ক্রিপ্টিংগুলিতে প্রযোজ্য নয়
Znik

1
প্রশ্নটি স্বয়ংক্রিয় স্ক্রিপ্টিং নির্দিষ্ট করে না। এই সমাধানটি 99% কাজটিকে স্বয়ংক্রিয় করার অনুমতি দেয়।
উইল শেপার্ড 14

1
দুর্ভাগ্যক্রমে, গুগল অবশ্যই এই কৌশলটির জন্য খুব স্মার্ট হতে হবে। আমি এখনও একটি লগইন পৃষ্ঠা পেতে।
জোশিয়ার

1
অবশ্যই, গুগল গুপ্ত রেক্যাপচা ব্যবহার করে ... যেমন আমি অনেক জায়গা দেখেছি, প্রমিত প্রোগ্রামেটিক এপিআই ব্যবহার করা এই ক্ষেত্রে সবচেয়ে কার্যকর বিকল্প।
জোশিয়ার

10

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

wget -q -O /dev/null --save-cookies /dev/stdout --post-data 'u=user&p=pass' 'http://example.com/login' | wget -q -O - --load-cookies /dev/stdin 'http://example.com/private/page' (এটি একটি লাইন, যদিও এটি সম্ভবত আপনার ব্রাউজারে মোড়ানো)

আপনি যদি কোনও ফাইলটিতে আউটপুট সংরক্ষণ করতে চান তবে এতে পরিবর্তন -O -করুন-O /some/file/name


9

পোষ্টড ফর্ম ডেটা করার জন্য আপনার সিআরএল লাগবে না। --post-data 'key1=value1&key2=value2'ঠিক কাজ করে। দ্রষ্টব্য: আপনি ফাইলের পোষ্ট ডেটা দিয়ে উইজেট করতে কোনও ফাইলের নামও পাস করতে পারেন।


8

যদি তারা মৌলিক প্রমাণীকরণ ব্যবহার করে থাকে:

wget http://username:password@www.domain.com/page.html

যদি তারা পোস্ট করা ফর্ম ডেটা ব্যবহার করে থাকে তবে এর পরিবর্তে আপনাকে সিআরএল এর মতো কিছু ব্যবহার করতে হবে।


সার্ভারে যে কোনও কিছু বদলাতে আমার অ্যাক্সেস নেই, এটি কেবল পঠনযোগ্য
সিয়োর রেগিনোল্ড ফ্রান্সিস

7
তাই? এর কোনওটির জন্যই আপনাকে সার্ভারে কোনও পরিবর্তন করার প্রয়োজন নেই।
ceejayoz

5

একটি সমাধান যা লিঙ্ক এবং উইজেট ব্যবহার করে।

দ্রষ্টব্য: লিনাক্স - এটি কাজ করার জন্য - সক্ষম-স্থায়ী-কুকিজের পতাকা সহ সংকলন করতে হবে

যখন আপনি লগইন প্রয়োজন এমন কোনও সাইট থেকে কিছু ফাইল ডাউনলোড করতে উইজেট ব্যবহার করতে চান, আপনার কেবল একটি কুকি ফাইলের প্রয়োজন। কুকি ফাইল উত্পন্ন করার জন্য, আমি লিংকটি বেছে নিই। লিঙ্ক একটি পাঠ্য ওয়েব ব্রাউজার। প্রথমে আপনার কুকি সংরক্ষণের জন্য লিক্সের জন্য একটি কনফিগার ফাইল দরকার। একটি ফাইল তৈরি করুন lynx.cfg। এই কনফিগারেশনটি ফাইলটিতে লিখুন।

SET_COOKIES:TRUE
ACCEPT_ALL_COOKIES:TRUE
PERSISTENT_COOKIES:TRUE
COOKIE_FILE:cookie.file

তারপরে এই কমান্ডটি দিয়ে লিংক শুরু করুন:

lynx -cfg=lynx.cfg http://the.site.com/login

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

তারপরে এই কমান্ডের সাহায্যে উইজেট সাইট থেকে ফাইল ডাউনলোড করতে পারে।

wget --load-cookies ./cookie.file http://the.site.com/download/we-can-make-this-world-better.tar.gz

2
লগইন জাভাস্ক্রিপ্ট প্রয়োজন হলে কী? লিঙ্ক জাভাস্ক্রিপ্ট সমর্থন করে বলে মনে হচ্ছে না।
টিবিরিউ

1

উইজেট সহ ডাউনলোড করার উদাহরণআপনার ব্রাউজারে প্রাপ্ত হতে পারে এমন একটি বড় ফাইল লিঙ্ক সার্ভারে ।

উদাহরণস্বরূপ গুগল ক্রোম ব্যবহার করা।

আপনার যেখানে প্রয়োজন লগইন করুন এবং ডাউনলোড টিপুন। আপনার লিঙ্কটি ডাউনলোড এবং অনুলিপি করতে যান।

এখানে চিত্র বর্ণনা লিখুন

তারপরে একটি পৃষ্ঠাতে ডেভটুলগুলি খুলুন যেখানে আপনি লগইন করেছেন, কনসোলে যান এবং আপনার কুকিজগুলি প্রবেশ করে প্রবেশ করুনdocument.cookie

এখানে চিত্র বর্ণনা লিখুন

এখন, সার্ভারে যান এবং আপনার ফাইলটি ডাউনলোড করুন: wget --header "Cookie: <YOUR_COOKIE_OUTPUT_FROM_CONSOLE>" <YOUR_DOWNLOAD_LINK>

এখানে চিত্র বর্ণনা লিখুন


এই উত্তরটি গুগলে ভাল স্কেল বলে মনে হচ্ছে না - যেখানে দুটি পৃষ্ঠার কুকিজ রয়েছে!
জোশিয়াহ

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