草庐IT

requests代理

全部标签

ruby-on-rails - 在 Rails 4 中接收 POST 数据并读取 request.body

我想向Rails应用程序发送POST请求,并让它在数据库中保存和解析请求主体...我在接收端的路线目前设置为:post'/request'=>'controller#receives_data'当我将数据发布到我使用的这个Controller时:defpost_itconnection.post(uri.path,"thisisdata",header_with_authkey)end我接收帖子的Controller方法设置为:defreceives_datalog(request.body.read)end但是我得到了一个422错误,无法处理的实体,并且日志文件总是空的...是否需要

ruby - 如何在像 nginx 这样的代理后面时在 rails 日志中记录真实的客户端 ip

问题我在两台服务器上安装了Rails3.2.15和机架1.4.5。第一个服务器是服务于静态Assets的nginx代理。第二台服务器是为Rails应用程序提供服务的unicorn。在Railsproduction.log中,我总是看到nginxIP地址(10.0.10.150)而不是我的客户端IP地址(10.0.10.62):StartedGET"/"for10.0.10.150at2013-11-2113:51:05+0000我想在日志中有真实的客户端IP。我们的设置HTTPheaderX-Forwarded-For和X-Real-IP在nginx中设置正确,我已经定义了10.0.1

ruby-on-rails - 在 Rails 4 中检测用户代理 - 读取 HTTP header

我刚刚从PHP切换到RubyonRails,想知道是否有一种方法可以检测客户端设备/用户代理(读取HTTPheader),以便根据收到的请求为网站的不同版本提供服务。在PHP中我一直在使用MobileDetect这样做。一般的想法是只提供每个特定版本所需的文件。这就是为什么客户端方法不是那么有效。有没有办法用Ruby2.0.0和Rails4.0.0做类似的事情?也许有gem可以处理这样的情况? 最佳答案 检查request方法,在那里你可以获得ActionDispatch::Request您拥有所有请求参数,包括用户代理。reque

ruby-on-rails - 我如何在我的 RSpec 中设置 request.referrer?

我试图避免使用我的session[:referred_by],而想使用request.referrer。但是,我的RSpec测试失败了,因为TestRequest没有存储request.referrer因此,为了使Rspec测试正常工作,我必须执行以下操作。有没有办法让它变得更好:referrer=request.referrer?request.referrer:'/'redirect_toreferrer,:alert=>error_message 最佳答案 ActionDispatch::TestRequest扩展了Actio

ruby-on-rails - 如何在 Rails 中为 Mechanize 设置自定义用户代理

我知道你有一组预定义的别名,你可以通过设置agent.user_agent_alias='LinuxMozilla'来使用,但是如果我想设置我自己的用户代理,因为我正在写一个网络爬虫并想要识别它,为了我索引的网站。就像Googlebot。似乎有一个user_agent方法,但我似乎找不到任何关于它的功能的文档。 最佳答案 您可以从别名设置用户代理a=Mechanize.newa.user_agent_alias='MacSafari'可用别名存储在AGENT_ALIASES常量中。pMechanize::AGENT_ALIASES否

ruby - 如何在 OpenURI 中指定 "http request header"

我正在尝试使用Ruby的OpenURIgem调用URL,但是它需要我在其HTTP请求header中传递某些值。知道怎么做吗? 最佳答案 根据thedocumentation,您可以将httpheader的哈希值作为第二个参数传递给open:open("http://www.ruby-lang.org/en/","User-Agent"=>"Ruby/#{RUBY_VERSION}","From"=>"foo@bar.invalid","Referer"=>"http://www.ruby-lang.org/"){|f|#...}

ruby - Rack::Request - 如何获取所有 header ?

标题是不言自明的。有什么方法可以获取header(Rack::Request.env[]除外)? 最佳答案 HTTPheader在Rackenvironment中可用。传递给您的应用:HTTP_Variables:Variablescorrespondingtotheclient-suppliedHTTPrequestheaders(i.e.,variableswhosenamesbeginwithHTTP_).Thepresenceorabsenceofthesevariablesshouldcorrespondwiththepr

ruby-on-rails - 没有参数的 request.fullpath

request.fullpath给出完整路径加上传递的任何参数,例如/page?param1=value¶m2&value如何只获取没有参数的页面?喜欢/page谢谢。 最佳答案 使用路径代替完整路径。虽然没有记录,request.path对我有用。我通常使用我的插件rails_web_console来处理请求对象。更新:正如turboladen注意到的那样,"[ActionDispatch::Request][2]继承自[Rack::Request‌][3],其中request.path为定义”。path没有记录在那里,但

ruby-on-rails - 有没有办法在 Rails 3.1 中检测用户代理

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Autodetectmobilebrowser(viauser-agent?)Rails3:HTTP_USER_AGENT有没有办法检测当前访问者的用户代理?我目前正在从事一个显示视频文件的项目。但对于ipad、iphone/samsunggalaxytab/internetexplorer/firefox。我需要显示视频,是否有可靠的方法来检查哪个浏览器正在访问我的Rails应用程序?谢谢大家!

ruby-on-rails - 如何设置 ActionMailer default_url_options 的 :host dynamically to the request's hostname?

我正在尝试设置:hostforactionmailer默认url选项。我在所有环境文件中设置了以下内容config.action_mailer.default_url_options={:host=>"localhost"}我想通过提供请求主机使其更具动态性。当我尝试通过设置它时config.action_mailer.default_url_options={:host=>request.domain}或config.action_mailer.default_url_options={:host=>request.env["SERVER_NAME"]}它抛出错误...无法识别“请求