問題タブ [mechanize-ruby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Link#click と Agent#get の機械化
ページ上の特定のリンクを (CSS を使用して) 検索し、href 値で agent#get を使用して、リンクによって参照されるページを取得するアプリケーションがあります。これは今日まで何ヶ月も機能していました (おそらく、他の Web サイトがまだ機能しているため、Web サイトは何かを変更しました)。代わりに、Web サイトは別のページを返します (違いがある場合は、Web ページ階層を上ります。しかし、それはおそらく Web サイトが決定することです)。要求されたページの代わりにそのページを返します)。page.uri は、要求された URI とは異なる返された実際の URI を反映していますが、応答コードは 200 であるため、おそらくリダイレクトは行われませんでした。
何が起こっているのかを把握するために、リンクを見つけて page.links[38].click を実行してみました。それは正しいページを返します。プログラムで正しいリンクを見つけるのはやや問題があります (CSS を使用してリンクを見つけることはできず、要素のみを見つけることができるため) ので、現在の方法を引き続き使用したいと思います。agent#get と link#click を使用したページの取得の違いを理解しようとしています。あなたが質問する前に、agent#get の URI が#clickしたリンクの URI と同じであることを確認しました。 #click は #get と何が違うので、一方が正しいページを取得し、他方が別のページを取得する可能性がありますか?
ruby - Ruby Mechanize での text/csv Content-Encoding = UTF-8 の問題
Mechanize V2.5.1 を使用して、UTF-8 でエンコードされた CSV であるページを読み込もうとしたときに、次のコードを使用しました。
しかし、コンテンツ エンコーディング フックが呼び出されていないことがわかり、次のエラーとトレースバックが表示されます。
コンテンツフックコードが起動しない理由と、エラーが発生する理由を知っている人はいますか?
ssl - "Errno::ECONNRESET: Connection reset by peer - SSL_connect" を取得するメカニズム
以前は機能していたページを Mechanize にロードさせることができません。確実にErrno: ECONNRESET: Connection reset by peer - SSL_connect
メッセージが表示されて失敗しています。私が何を試すべきか、または私が見るべき詳細について何か提案はありますか? (以下の「私が試したこと」を参照してください...)
更新 1
関連する SO の投稿をヒントに、で直接サイトにアクセスしてみましたNet::HTTP
。を設定するとhttp.ssl_version = :TLSv1
、エラーではなくリダイレクトが表示されます (そうあるべきです)。したがって、私の質問は次のようになります: Net::HTTP の基になるssl_version
パラメーターを内部から構成するにはどうすればよいMechanize
ですか?
ありがとう...
症状:
環境:
私が試したこと:
- Firefox Web ブラウザーから同じ URL を試しました。できます。
- Mechanize
request_headers
が Firefox ブラウザーを正確に模倣するように明示的に設定しました。変化なし。 - I've updated my
ssl/cert.pem
file (a second time) as described in this S.O post. No change. - I've tried different sites:
www.pge.com
andwww.sdge.com
. Both work. There's something different about thewww.sce.com
site.
Success with Net::HTTP
Here's an example of Net::HTTP working:
ruby-on-rails - Mechanize (Ruby) 経由で Amazon フォームを送信できません
私が書いたスクリプトでは、ユーザーの代わりに認証情報を使用して Amazon に正常にログインしています。次に、フォームに記入して新しい住所を入力しようとしています。これが私の現在のコードです:
フォームを送信すると、同じ「Add an Address」フォームが表示されますが、認識できるエラーはなく、ページに新しいものは何もありません。リクエストにはnew_response
同じフォームが記入されています。
投稿リクエストを検査すると、次のようになります。
私にとって際立っている主なことは、その最後の部分です。
私はどこにも設定newAddress.x
していnewAddress.y
ません。できないようです。
これが正常に送信されない理由について何か考えはありますか? おそらくSSLの問題ですか?