0

我正在将 twitter gem 用于 ruby​​,需要向用户/查找端点发送 POST 请求。根据 gem 源代码文档(https://github.com/sferik/twitter/blob/4e8c6dce258073c4ba64f7abdcf604570043af71/lib/twitter/rest/users.rb),默认情况下请求应该是 POST ,除非我通过 :get :

@option options [Symbol, String] :method 如果设置为 ':get',则通过 GET 请求而不是标准 POST 请求请求用户。

def users(*args)
    arguments = Twitter::Arguments.new(args)
    request_method = arguments.options.delete(:method) || :post
    flat_pmap(arguments.each_slice(MAX_USERS_PER_REQUEST)) do |users|
      perform_with_objects(request_method, '/1.1/users/lookup.json', merge_users(arguments.options, users), Twitter::User)
    end
  end

我这样称呼它:

users = @client.users(twitter_screen_names_arr, [:method, :post])

但是,我不确定这是否真的会导致 POST 请求/GET 请求。我如何确定这是否是 POST/GET?我想打印正在发出的请求,以明确实际发送的内容。

谢谢!

4

1 回答 1

1

从它默认使用的代码中可以看出。POST此行为也由 RSpec指定

您可以像这样调用 users 方法:

@client.users(twitter_screen_names_arr, :method => :post)

或者干脆

@client.users(twitter_screen_names_arr)

因为POST是默认的请求方法。

如果您不信任代码或规范,您可以通过代理运行请求以手动验证此行为。

于 2014-07-10T08:23:31.247 回答