2014-07-10 30 views
0

我正在使用twitter gem for ruby​​,并且需要向用户/查找端点发送POST请求。 作为每宝石源代码文件(https://github.com/sferik/twitter/blob/4e8c6dce258073c4ba64f7abdcf604570043af71/lib/twitter/rest/users.rb),该请求应当是POST默认,除非我通过:得到:验证请求是否为GET/POST

@option选项[符号,字符串]:方法通过GET请求,而不是请求的用户标准的POST请求如果设置为':get'。

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?我想打印正在发送的请求,以清楚发送实际内容。

谢谢!

+0

'request.post?'或'request.get?'可用于测试'request'是否为POST或GET请求。或者你可以使用'request.method'来获取请求的类型。 –

回答

1

正如你可以从code看到的,它默认使用POST。此行为也是带有RSpec的specified

您可以调用用户的方法是这样的:

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

或者干脆

@client.users(twitter_screen_names_arr)

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

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

+0

谢谢你的回复sferik。我确实相信这些代码,但我不确定我是否正确地调用它。另外,我更加想知道请求是什么样的。 –