<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>jt_today (jin)</title>
    <link>https://ruby-china.org/jt_today</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>用 mechanize 登录怎么处理跳转</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'rubygems'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'mechanize'&lt;/span&gt;

&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Mechanize&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"https://example.com/login"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;login_form&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forms&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt;
&lt;span class="n"&gt;login_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'username'&lt;/span&gt;
&lt;span class="n"&gt;login_form&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;password&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;'password'&lt;/span&gt;
&lt;span class="n"&gt;page&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;agent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;submit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;login_form&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;pp&lt;/span&gt; &lt;span class="n"&gt;page&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;代码如上。可是登录后有个跳转页，显示的是&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;#&amp;lt;Mechanize::Page&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;url &lt;span class="c"&gt;#&amp;lt;URI::HTTPS:0xb6c5e764 URL:https://example.com/takelogin.php&amp;gt;}&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;meta_refresh &lt;span class="c"&gt;#&amp;lt;Mechanize::Page::MetaRefresh "" "index.php"&amp;gt;}&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;title nil&lt;span class="o"&gt;}&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;iframes&lt;span class="o"&gt;}&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;frames&lt;span class="o"&gt;}&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;links&lt;span class="o"&gt;}&lt;/span&gt;
 &lt;span class="o"&gt;{&lt;/span&gt;forms&lt;span class="o"&gt;}&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;新手请教怎么处理这个跳转页&lt;/p&gt;</description>
      <author>jt_today</author>
      <pubDate>Mon, 29 Oct 2012 20:41:32 +0800</pubDate>
      <link>https://ruby-china.org/topics/6393</link>
      <guid>https://ruby-china.org/topics/6393</guid>
    </item>
    <item>
      <title>(Solved) 用 mechanize 出现问题。。似乎是 mechanize 没装对</title>
      <description>&lt;p&gt;版本 Ubuntu 12.04，ruby 1.8.7，gem 1.8.15 
首先我&lt;code&gt;sudo gem install mechanize --no-ri --no-rdoc&lt;/code&gt;
似乎结果不错&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;Building native extensions.  This could take a &lt;span class="k"&gt;while&lt;/span&gt;...
Fetching: ntlm-http-0.1.1.gem &lt;span class="o"&gt;(&lt;/span&gt;100%&lt;span class="o"&gt;)&lt;/span&gt;
WARNING: ntlm-http-0.1.1 has an invalid nil value &lt;span class="k"&gt;for&lt;/span&gt; @cert_chain
Fetching: webrobots-0.0.13.gem &lt;span class="o"&gt;(&lt;/span&gt;100%&lt;span class="o"&gt;)&lt;/span&gt;
Fetching: unf_ext-0.0.5.gem &lt;span class="o"&gt;(&lt;/span&gt;100%&lt;span class="o"&gt;)&lt;/span&gt;
Building native extensions.  This could take a &lt;span class="k"&gt;while&lt;/span&gt;...
Fetching: unf-0.0.5.gem &lt;span class="o"&gt;(&lt;/span&gt;100%&lt;span class="o"&gt;)&lt;/span&gt;
Fetching: domain_name-0.5.4.gem &lt;span class="o"&gt;(&lt;/span&gt;100%&lt;span class="o"&gt;)&lt;/span&gt;
Fetching: mechanize-2.5.1.gem &lt;span class="o"&gt;(&lt;/span&gt;100%&lt;span class="o"&gt;)&lt;/span&gt;
Successfully installed nokogiri-1.5.5
Successfully installed ntlm-http-0.1.1
Successfully installed webrobots-0.0.13
Successfully installed unf_ext-0.0.5
Successfully installed unf-0.0.5
Successfully installed domain_name-0.5.4
Successfully installed mechanize-2.5.1
7 gems installed
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后写了第一个程序&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'rubygems'&lt;/span&gt;
&lt;span class="nb"&gt;require&lt;/span&gt; &lt;span class="s1"&gt;'mechanize'&lt;/span&gt;

&lt;span class="n"&gt;agent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Mechanize&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;运行一下就报错&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;./mechanize.rb:4: uninitialized constant Mechanize &lt;span class="o"&gt;(&lt;/span&gt;NameError&lt;span class="o"&gt;)&lt;/span&gt;
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in &lt;span class="sb"&gt;`&lt;/span&gt;gem_original_require&lt;span class="s1"&gt;'
    from /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'&lt;/span&gt;
    from mechanize.rb:2
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这是什么原因呐&lt;/p&gt;</description>
      <author>jt_today</author>
      <pubDate>Sun, 28 Oct 2012 10:31:01 +0800</pubDate>
      <link>https://ruby-china.org/topics/6365</link>
      <guid>https://ruby-china.org/topics/6365</guid>
    </item>
  </channel>
</rss>
