光物コレクション技術メモブログその他ダウンロード内部向け本サイトについて(プライバシーポリシー/ライセンス)技術メモ後で同じ状況が起こった時に思い出せるように技術的なちょっとしたことをメモする。UA)の設定をしてhttpにアクセスしたいときの使い方のメモ。プロキシを設定するURI::readやopenを使う場合は、proxyキーワード引数にプロキシサーバーのURIを渡す。プロキシサーバーURIは「http://[user_name]:[password]@[address]:[port]」の形式で記述する。パスワードがbarでポートが8080の場合は「http://fuga:bar@proxy.hoge:8080」となる。認証が必要ない場合は「http://[address]:[port]」(http://proxy.hoge:8080)となり、更にポートの指定も不要な場合は単に「http://[address]」(http://proxy.hoge)となる。openの場合data=open(url,proxy:prxy_svr)ユーザーエージェント(UA)を設定するURI::readやopen使用時にUAを設定したいことはたまにある。WebページにアクセスしたいときにUAを設定しないと接続を拒否るサイト(乃木坂46の公式サイトなど)があり、その対策で使ったりする。URI::readやopen使用時にUAを設定したい時には”user-agent”(文字列)キーワードに設定したいUA(文字列)を設定する。キーワードの”user-agent”はシンボルではなく、文字列であることに注意(なぜそういう仕様かは不明)。UAの文字列は好きに設定できる。ChromeやFirefoxなどの現存のものでもよいし適当な文字列を割り当てることもできる。data=open(url,"user-agent":ua)などはNG当然、プロキシ設定とUA設定は同時に行うことができ、data=url.read(proxy:prxy_svr,"user-agent"=>ua)のように使うことができる。only”(URI::InvalidURIError)と怒られてしまう。マルチバイト文字はasciiに変換して、「https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%A9%E3%82%B9」にする必要がある。その方法を提供しているのが、URI::encodeメソッドである。上記の例だと、URI::encode(“https://ja.wikipedia.org/wiki/カラス”)で「https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%A9%E3%82%B9」になる。コメントをキャンセル回答をお約束することは出来ませんので予めご了承ください。コメントは承認されると表示されるようになります。コメントを送信する前に「私はロボットではありません」にチェックを入れて下さい。Reserved.TOPへ。