- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Mechanize gem 对网站进行身份验证,但收到以下错误:
405 => Net::HTTPMethodNotAllowed for https://www.mygreatlakes.org/educate/login/snapAuthentication -- unhandled response
POST
作为方法,所以我不确定为什么会发生这个错误。使用
Hurl It ,我能够看到这个 URL 接受 GET 请求。访问此 URL 会返回 401 错误,说明
Error 401: Authentication Failed: Authentication method not supported: GET
def scraper
agent = Mechanize.new { |a| a.log = Logger.new("log/mechanize.log") }
agent.request_headers = {'User-agent' => 'Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11'}
login_page = agent.get('https://www.mygreatlakes.org/educate/login.html')
login_form = login_page.form_with(id: 'snapLogin')
username_field = login_form.field_with(name: "userName")
username_field.value = "username"
login_page = login_form.submit
pin_form = login_page.form_with(id: 'securityPinModel')
pin_field = pin_form.field_with(name: "pinNumber")
pin_field.value = "pin"
pin_page = pin_form.submit
password_form = pin_page.form_with(id: "frm")
password_field = password_form.field_with(name: "password")
password_field.value = "password"
password_page = password_form.submit
@output = password_page.body
end
<form id="frm" class="slow-load log-in" autocomplete="OFF" action="snapAuthentication" method="post">
<div id="errors" class="message alert hide-this authErrors" role="alert" style="display: none;">
<strong>Please Correct These Errors</strong><br>
<ul id="errorList" style="outline: none;" tabindex="-1">
</ul>
</div>
<div>
<p>Here's the identity image and catchphrase you selected:</p>
<p class="display-img">
<img style="height: 65px; width: 65px;" alt="Pirate Flag" src="image.img?id=7">
<br>
<strong class="blue">catchphrase</strong>
</p>
</div>
<div>
<label for="password">Password</label>
<input id="password" name="password" class="short input-field" type="password" value="" autocomplete="off">
</div>
<button type="submit" class="orange" id="authenticate">Continue</button>
<p class="help"><a class="nowrap" href="/educate/login/trouble.html">I forgot my password</a></p>
</form>
<input id="userName" name="userName" type="hidden" value="username">
<input type="hidden" name="_csrf" value="value">
I, [2015-11-08T21:26:22.626822 #48752] INFO -- : form encoding: utf-8
D, [2015-11-08T21:26:22.626999 #48752] DEBUG -- : query: "password=password"
I, [2015-11-08T21:26:22.629630 #48752] INFO -- : Net::HTTP::Post: /educate/login/snapAuthentication
D, [2015-11-08T21:26:22.629804 #48752] DEBUG -- : request-header: accept-encoding => gzip,deflate,identity
D, [2015-11-08T21:26:22.629886 #48752] DEBUG -- : request-header: accept => */*
D, [2015-11-08T21:26:22.629956 #48752] DEBUG -- : request-header: user-agent => Mozilla/5.0 (Windows NT 5.2; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11
D, [2015-11-08T21:26:22.630022 #48752] DEBUG -- : request-header: accept-charset => ISO-8859-1,utf-8;q=0.7,*;q=0.7
D, [2015-11-08T21:26:22.630087 #48752] DEBUG -- : request-header: accept-language => en-us,en;q=0.5
D, [2015-11-08T21:26:22.630168 #48752] DEBUG -- : request-header: cookie => GLDCID=.mad; JSESSIONID_007_infoserv=0001LgdwpswRf5r66r4pAgOtaOM:153b6ufq4; TLTSID=0.5241251b52c6a
D, [2015-11-08T21:26:22.630235 #48752] DEBUG -- : request-header: host => www.mygreatlakes.org
D, [2015-11-08T21:26:22.630310 #48752] DEBUG -- : request-header: referer => https://www.mygreatlakes.org/educate/login/imageAndPassword.html
D, [2015-11-08T21:26:22.630377 #48752] DEBUG -- : request-header: content-type => application/x-www-form-urlencoded
D, [2015-11-08T21:26:22.630441 #48752] DEBUG -- : request-header: content-length => 17
I, [2015-11-08T21:26:22.680558 #48752] INFO -- : status: Net::HTTPMethodNotAllowed 1.1 405 Method Not Allowed
D, [2015-11-08T21:26:22.680816 #48752] DEBUG -- : response-header: date => Mon, 09 Nov 2015 02:26:22 GMT
D, [2015-11-08T21:26:22.680936 #48752] DEBUG -- : response-header: server => Apache
D, [2015-11-08T21:26:22.681050 #48752] DEBUG -- : response-header: strict-transport-security => max-age=31536000 ; includeSubDomains
D, [2015-11-08T21:26:22.681164 #48752] DEBUG -- : response-header: x-xss-protection => 1; mode=block
D, [2015-11-08T21:26:22.681274 #48752] DEBUG -- : response-header: x-frame-options => DENY
D, [2015-11-08T21:26:22.681384 #48752] DEBUG -- : response-header: x-content-type-options => nosniff
D, [2015-11-08T21:26:22.681493 #48752] DEBUG -- : response-header: allow => GET,HEAD
D, [2015-11-08T21:26:22.681601 #48752] DEBUG -- : response-header: content-length => 0
D, [2015-11-08T21:26:22.681710 #48752] DEBUG -- : response-header: content-type => text/plain; charset=ISO-8859-1
D, [2015-11-08T21:26:22.681818 #48752] DEBUG -- : response-header: content-language => en-US
D, [2015-11-08T21:26:22.681926 #48752] DEBUG -- : response-header: keep-alive => timeout=4, max=95
D, [2015-11-08T21:26:22.682098 #48752] DEBUG -- : response-header: connection => Keep-Alive
D, [2015-11-08T21:26:22.682332 #48752] DEBUG -- : Read 0 bytes (0 total)
最佳答案
该错误意味着该站点正在阻止您尝试连接到它的方法。
基本上,该站点的管理员正在阻止您尝试使用的特定方法或该站点处于“只读”状态,但是您可以删除此阻止,这是一个教您如何操作的链接:
http://www.checkupdown.com/status/E405.html
至于 401 错误,它可能表示旧的缓存数据、丢失的 cookie 或安全冲突。 401 错误也可能表示服务器错误。
关于ruby-on-rails - 验证时 Mechanize 405 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601650/
我正在使用 mechanize python 登录网站 combochat2.us用户名 mask3和密码findnext ,但它显示了“没有找到 Mechanize 模块”之类的错误 import
我在我的 rails 应用程序中使用 gem mechanize 来抓取网页数据。 我这样使用它: agent = Mechanize.new document = agent.get("http:/
我正在学习机械。我正在尝试打开一个文本文件,您点击的链接显示 文本 (.prn)我遇到的一个问题是此页面上只有 1 个表单,并且该文件不在表单中。对我来说另一个问题是此页面上有几个文本文件,但它们都具
def return_with_soup(url): #uses mechanize to tell the browser we aren't a bot #and to retri
我正在开发一个项目,使用 python 和 Mechanize 。我有个问题 : Mechanize 返回的页面,有不是的 URLS Mechanize ,如果用户点击它,他们将通过链接 他们自己计算
问题: 解析网站时,有些字符会导致 Mechanize 无法正确解析。 提出的解决方案 解析来自网站的响应以删除这些字符 在 Mechanize 之前尝试解析它。 或者,在 Mechanize 解析网
有一个public class method将字段添加到 Mechanize 表单 我试过了.. #login_form.field.new('auth_login','Login') #login_
我有一些看起来像这样的东西: def self.foo agent = Mechanize.new form = agent.get("link/to/form/url") form.f
我在使用 Mechanize gem 时遇到问题,如何转换 Mechanize::文件 进入 Mechanize::页面 , 这是我的一段代码: **link** = page.link_with(:
我正在尝试抓取一个只能依靠类和元素层次结构来找到正确节点的站点。但是使用 Mechanize::Page#search 返回 Nokogiri::XML::Element,我不能用它来填写和提交表单等
我正在使用 mechanize 来抓取一些网页。 我需要知道什么是 Mechanize 限制? Mechanize 不能做什么? 它可以执行网页中嵌入的javascripts吗? 我可以用它来调用 j
在 WWW::Mechanize 中使用表单方法 my @form = $mech->form_number(1); foreach my $sum_form ( @form ) {
找到以下 HTML 代码: 如何使用 Mechanize 单击没有 id 和 name 的提交按钮? 最佳答案 我已经找到了此类场景的答案,代码如下: agent = Mechanize.new
这个问题不太可能对 future 的访客有帮助;它只与一个小的地理区域、一个特定的时刻或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛地适用,visit the hel
我一直在尝试使用以下方法从终端运行 ruby 文件: ruby file_cleanse_auto.rb 但是我从 mechanize 得到一个错误: /Library/Ruby/Site/2.0
这是我拥有的代码: agent = Mechanize.new page = agent.get 'http://google.com' page.save 'google_index.htm' 我怎
for link in br.links(url_regex="inquiry-results.jsp"): cb[link.url] = link for page_link in cb.v
我有一个登录表单的页面。登录后有一些重定向。第一个看起来像这样: #"no-cache=\"set-cookie\"", "content-length"=>"114", "set-cookie"=>
我正在尝试使用基本身份验证访问 API。它适用于 HTTParty,但不适用于 2.7.6 Mechanize。 这是我尝试过的: agent = Mechanize.new agent.log =
我正在尝试使用 Ruby 的 Mechanize gem 提交表单。此表单有一组名为“KeywordType”的单选按钮。各个按钮的名称类似于 rdoAny、rdoAll 和 rdoPhrase。使用
我是一名优秀的程序员,十分优秀!