Я хотел бы очистить список обсуждений частной группы google. Это многостраничный список, и мне, возможно, придется это сделать позже, так что сценарии звучат как способ пойти.
Так как это частная группа, мне нужно сначала войти в мою учетную запись google. К сожалению, я не могу войти в систему, используя wget или ruby Net:: HTTP. Удивительно, что группы google недоступны с Интерфейсом входа клиента, поэтому все примеры кода бесполезны.
Мой ruby script встроен в конец сообщения. Ответ на запрос проверки подлинности - 200-OK, но в заголовках ответов нет файлов cookie, а в теле содержится сообщение "Функциональность вашего браузера cookie отключена. Пожалуйста, включите его".
Я получил тот же результат с помощью wget. См. bash script в конце этого сообщения.
Я не знаю, как это сделать. я что-то упускаю? Есть идеи?
Спасибо заранее.
Джон
Вот рубин script:
# a ruby script
require 'net/https'
http = Net::HTTP.new('www.google.com', 443)
http.use_ssl = true
path = '/accounts/ServiceLoginAuth'
email='[email protected]'
password='topsecret'
# form inputs from the login page
data = "Email=#{email}&Passwd=#{password}&dsh=7379491738180116079&GALX=irvvmW0Z-zI"
headers = { 'Content-Type' => 'application/x-www-form-urlencoded',
'user-agent' => "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/6.0"}
# Post the request and print out the response to retrieve our authentication token
resp, data = http.post(path, data, headers)
puts resp
resp.each {|h, v| puts h+'='+v}
#warning: peer certificate won't be verified in this SSL session
Вот bash script:
# A bash script for wget
CMD=""
CMD="$CMD --keep-session-cookies --save-cookies cookies.tmp"
CMD="$CMD --no-check-certificate"
CMD="$CMD --post-data='[email protected]&Passwd=topsecret&dsh=-8408553335275857936&GALX=irvvmW0Z-zI'"
CMD="$CMD --user-agent='Mozilla'"
CMD="$CMD https://www.google.com/accounts/ServiceLoginAuth"
echo $CMD
wget $CMD
wget --load-cookies="cookies.tmp" http://groups.google.com/group/mygroup/topics?tsc=2