我想不用ruby登录vk.com或m.vk.com。但我的代码不起作用。

require 'net/http'

email = "[email protected]"
pass = "qeqqweqwe"

userUri = URI('m.vk.com/index.html')
Net::HTTP.get(userUri)
res = Net::HTTP.post_form(userUri, 'email' => email, 'pass' => pass)
puts res.body

最佳答案

首先,需要将useruri更改为以下内容:

userUri = URI('https://login.vk.com/?act=login')

这就是vk站点需要您的登录参数的地方。
我不太喜欢vk,但您可能需要一种方法来处理会话cookie。既可以接收它,也可以为将来的请求提供它。你能详细说明一下登录后你在做什么吗?
以下是cookie处理的net/http信息:
# Headers
res['Set-Cookie']            # => String
res.get_fields('set-cookie') # => Array
res.to_hash['set-cookie']    # => Array
puts "Headers: #{res.to_hash.inspect}"

10-08 04:43