w3m その8

1名無しさん@お腹いっぱい。2007/07/30(月) 17:43:18

5515502015/12/18(金) 07:56:37.04
w3mで duckduckgo.com が使えなくなった件の続報。

環境のOpenSSLのバージョンが古かったので更新しw3mも再構築。
$ ldd ./w3m
libssl.so.1.0.0 => /usr/local/ssl/lib/libssl.so.1.0.0 (0xXXXXXXXX)
libcrypto.so.1.0.0 => /usr/local/ssl/lib/libcrypto.so.1.0.0 (0xXXXXXXXX)
元は /lib/libssl.so 等だったから共有ライブラリの更新は成功、と思う。

結果は変化なし。

552名無しさん@お腹いっぱい。2015/12/18(金) 09:16:58.39
ああ、確かに見えないなあ…
httpでつなげにいくとhttpsにリダイレクトされてw3m上では中身が空っぽにみえる。
wgetで取りに行ったindex.htmlはちゃんと描画されてる。SSLがらみっぽい感じ。

5535502015/12/19(土) 08:12:36.83
w3mで duckduckgo.com が見られなくなった件 第3話
さっき試したら以前のように見られた。
向こう(サーバ)側に問題があったのか。

よく分からないけど、この話は解決…?

554名無しさん@お腹いっぱい。2015/12/21(月) 09:55:58.79
>>553
ほんとだね。まあ直ってよかった。

555名無しさん@お腹いっぱい。2016/02/20(土) 22:33:06.08
w3mからYouTubeなんかの動画をmplayerのウィンドウが開かないようにxtermウィンドウ内で見るには、
youtube-dlとpythonとmplayer2のインストール以外に何が必要でしょうか?
というかそういうことが可能でしょうか?
何かスクリプトでも書かなければダメでしょうか?
自分が参考にしたサイトは以下のところです。

http://qiita.com/tigberd/items/594c27426c5580450bf2

ちなみにOSはLubuntu15.10です。

556名無しさん@お腹いっぱい。2016/02/21(日) 07:25:23.49
Xを使っているにもかかわらず動画を端末内で描写したいという話?
もしそうなら一応こういうのがあるけど
http://qiita.com/arakiken/items/3e4bc9a6e43af0198e46

557名無しさん@お腹いっぱい。2016/02/22(月) 16:47:10.39
youtube-dl でダウンロードして mplayer で再生すれば
フレームバッファコンソールでもYoutube動画を観られるのね。
あとは自動再生のCGIか何かを組み込むだけじゃないか。

>>555 の問題は使用環境が違うので力になれない。済まぬ。

5585552016/02/22(月) 20:20:52.82
557>>
いえいえお心遣い誠に感謝します。

とりあえず報告です。

リンク先のおそらくFFmpegの項の「インストール方法」を試せばいいと思ったんで、

Step0はなんとか進んで、Step1の

./configure --enable-sixel-graphics

を実行したら

configure: error: Unable to successfully link Athena library (-lXaw) with test program

と表示されました。

他にもホームディレクトリには「.Xresources」はなく「.Xauthority」ならありました。

リンク先は興味深い内容がたくさんあって他のOSで試してみようと思います。

紹介してくださってありがとうござます。

559名無しさん@お腹いっぱい。2016/05/08(日) 00:09:55.35
w3m で http://docs.python.org/3.5/library/urllib が開けない原因わかります?

560名無しさん@お腹いっぱい。2016/05/09(月) 09:32:58.69
少なくともさっきやってみたら普通に見えたよ。
自分ならstrace/trussでシステムコールレベルでどこで詰まってるか
とりあえず調べてみるかなあ。
あとは新規ユーザーを作って.w3mない状態で試してみるとか、使っているなら
プロキシ周りを疑ってみるとか。

561名無しさん@お腹いっぱい。2016/05/10(火) 08:19:41.18
>>559 俺の環境(フレームバッファコンソール、fbterm)でも見れない。
loadLink(): Can't load http://docs.python.org/3.5/library/urllib

別のブラウザだと表示されるけど、アドレスバーには
https://docs.python.org/3.5/library/urllib.html
と表示される。"http" が "https" に変わり、末尾に ".html" が追加。
で、このURLを指定すればw3mでも見られる。


サーバから返送されたリダイレクトのレスポンスを
w3mが拾い損なってる感じかな。よく分からんけど。

5625602016/05/11(水) 08:17:36.51
あ、自分はw3m/0.5.3+debian-19で試しました。
ちゃんとhttpsにリダイレクトされてます。
debianパッケージのソースはあちこちにあるパッチや独自のfixを含んでいて
実質一番アクティブなforkみたいな感じなので、そっちを使う方がいいかも。
https://anonscm.debian.org/cgit/collab-maint/w3m.git

一応sourceforge側に定期的にそのへん報告もしてるしメンテナ自身sourceforge
のw3mに参加を希望しているけどずっと無反応なのでこんな状態が続いている。

563名無しさん@お腹いっぱい。2016/09/14(水) 03:46:58.10
MigemoOFFしてますが、正規表現で検索が出来ません……よくわかりません
日付探そうとして\d{4}してもnot foundで、[0-9]{4}とかw\{3\}とかしてみたんですが……
[0-9][0-9][0-9][0-9]なら流石に4桁の数字ヒットします

Debian Sid i386, w3m 0.5.3-29
使える正規表現の一覧とかありませんか?

564名無しさん@お腹いっぱい。2016/09/14(水) 08:01:56.02
w3mの正規表現はどうもaitoさんが自前で作ったものっぽい。
\dみたいなリッチな正規表現は未対応のようだ。一覧もなさそう。
sed, grepあたりで使える正規表現を前提にしてるんじゃないかな。

565名無しさん@お腹いっぱい。2016/09/15(木) 22:18:56.91
ローカルcgiってどうやって使うの?ディレクトリの設定ちゃんとしてるのに、ソースが表示されてしまう。

566名無しさん@お腹いっぱい。2016/09/16(金) 08:04:39.06
/foo/bar/hoge.cgi があるとして、これを実行したいなら設定(.w3m/config)を
cgi_bin /foo/bar
として以下にアクセスすれば動かないかな? 実行属性は必要。
file:///cgi-bin/hoge.cgi

567名無しさん@お腹いっぱい。2016/12/04(日) 12:58:20.01
最近 mingw にインストールしてみたんですがヘルプが表示されないっていう問題がありました
まずヘルプの CGI が Perl の構文チェックで警告がでるため、そこで止まってしまい何も表示されないのと
それを解決しても日本語ヘルプが表示されず、これは生成された w3mhelp-funcdesc.ja.pl に問題があったためでした
日本語が記述されている部分は euc-jp で書かれているため生成時にうまく処理できなかったのかもしれません
gnupackで試したところやはりヘルプは表示されないのでcygwin版も同じ状態じゃないかと思います

568名無しさん@お腹いっぱい。2017/04/30(日) 21:29:09.25
最近2chが見られないねえ

http://paste.lisp.org/display/345523

569名無しさん@お腹いっぱい。2017/05/08(月) 16:15:43.98
どうかな?

5705692017/05/08(月) 16:22:29.48
連投にて失礼。再びテスト。

571名無しさん@お腹いっぱい。2017/05/08(月) 22:50:59.87
テストはテストスレで

5725692017/05/09(火) 06:53:04.42
すまぬ。ここ2週間ほど(SNS業者のアイコンが表示されるようになった頃から)
投稿できなくなってたので >>568 の修正を施して、この場で試してしまった。
確かに不適切だね。

で、分かったこと。板によって投稿できたりできなかったりする。
この板は >>568 の修正の有無によらず投稿できた模様。
別の板では今でも書き込めない(萌えニュースとか)。

[書き込む] ボタンを押したときに
Unknown URI: /test/bbs.cgi
と表示される、つまりホスト部 ○○.2ch.net が消失するためらしいが…。

573名無しさん@お腹いっぱい。2017/10/25(水) 23:29:46.42
アップデート来た。

574名無しさん@お腹いっぱい。2017/10/26(木) 06:46:08.46
アップデート、どこにある?
スレッド先頭のリンク先とか、googleさんの「過去○週間」で見当たらない。

575名無しさん@お腹いっぱい。2017/10/26(木) 10:17:09.24
sourceforgeに無いのなら来てないんじゃね?

576名無しさん@お腹いっぱい。2017/10/26(木) 10:34:36.60
>>573
どっかのパッケージの話?

577名無しさん@お腹いっぱい。2017/10/27(金) 06:42:55.09
別のアプリケーション関連のスレッドへ投稿するつもりが
送信先を間違えるか何かして、ここに載っただけ?

578名無しさん@お腹いっぱい。2017/11/28(火) 01:14:03.82

579名無しさん@お腹いっぱい。2017/11/28(火) 05:34:08.09
反応が一月後w

580名無しさん@お腹いっぱい。2017/12/07(木) 09:41:37.17
なんかここ↓のハイパーリンク『次のページ』が踏めない
ttp://gihyo.jp/admin/serial/01/ubuntu-recipe/0019

というか、URL が file:/// に化ける謎

581名無しさん@お腹いっぱい。2017/12/07(木) 10:49:16.59
Androidのフォントが変わってもうた。
termuxという端末アプリ上で、
pkg install w3m
と、アプリのyumかaptgetかのw3mをインストールし動作させると、Android全体のフォント体が変わってもうたよ。なんなの。

582名無しさん@お腹いっぱい。2017/12/07(木) 12:48:07.56
>>580 俺のところもなるわ。

HTMLのソースを見ると当該部分は
<a href="/admin/serial/01/ubuntu-recipe/0019?page=2" rel="next">
となっているから、hrefのリンク先が '/' で始まってると
w3mはローカルファイルへのリンクと判断して "file://" を補うみたいね。

おそらくページ作成者はサーバのルートからの絶対アドレスとして
"https://gihyo.jp/" が補われると想定して書いてるのだと思う。
実際に "https://gihyo.jp/admin/sefial..." で次のページが見られるし。


HTMLの文法としてどちらが正しいのか知らんけど、とりあえず現象の分析まで。

583名無しさん@お腹いっぱい。2017/12/07(木) 13:29:15.45
w3m の紹介ページが w3m で満足に読めないとかなんという典型的な皮肉

584名無しさん@お腹いっぱい。2017/12/07(木) 13:31:55.35
Lynx ではリンク先が絶対URLでない旨の警告を受けたものの読めたんで w3m もそんな感じのユーザーインタフェースにすればいいのにね。

5855822017/12/07(木) 17:58:55.71
hrefの先頭が '/' の場合にどう解釈すべきか、は RFC 3986 に出てるらしい。
日本語訳もウェブ上で見つけたんだが、さっぱり分からん。

ネット上での議論を見ると、先頭の '/' はリンク元のファイルがある
ホストやサイトでの絶対アドレスとして扱うみたい。
というわけで技評さんのページのリンクの書き方は正当のようだ。

w3m のソースだと url.c の parseURL() や parseURL2() のあたり、
これがまた複雑で…。

5865802017/12/07(木) 18:26:35.72
>>582,584,585
なるほど…と思ってよく見たら、これサイト側のベースURLの指定が間違ってるのか
理想: <base href="https://gihyo.jp/" />
現状: <base href="/" />
サイト側のミスっぽいけど、w3mも機転が足りてない感じがする

>>584
utf8版から入ると eucのマニュアルページを読むのが最初の試練だった気が

>>581
それは、debianなのか、fedoraなのか、freebsdなのか?

5875822017/12/07(木) 20:07:58.68
<head> 〜 </head> の <base href="..."> には気づかなかった。
確かに問題のページでは href="/" になってるのが直接の原因みたいね。

手元のApacheと合わせて試したところ、
<base href="http://ServerName/"> のようにサーバを正しく指定するか
あるいは <base href="..."> を一切書かなければ
w3m でも <a href="/dir/file.html"> のリンクを期待通りにたどれる。

<base href="/"> と書いてしまうと、ローカルの
file:///dir/file.html を読もうとする。

5885802017/12/08(金) 00:33:44.07
原因自体はそれで確定みたいですね
ただ、C言語なんて長いこと触ってないし、複雑過ぎるしで、自分にゃ手に負えんです。

暫定で baseurl を潰すだけで良いなら、
$ ag 'buf->baseurl' *.c

file.c の
case HTML_BASE:
ブロックの中あたりですかね?

……と当てずっぽうに言ってみる
てか、すまん

5895802017/12/08(金) 12:32:06.89
解析用にparse結果を書き出す関数を作ってみた
問題箇所(=buf->baseURL->hostの設定箇所)は、今の所特定できず
こんなことしなくても、正規なデバッグ方法がちゃんと用意されてそうな気も

/* w3mソース [proto.h] 末尾に追加 */
 extern void clear_mylog();
 extern void printf_mylog( char *fmt, ... );
 extern void dump_ParsedURL( ParsedURL *p );

/* w3mソース [url.c] 末尾に追加 */
 const char fn_mylog[100] = "/tmp/w3m_debug.log";
 void clear_mylog(){
  FILE *fp =fopen( fn_mylog,"w");
  if( fp ) fclose( fp );
 }
 void printf_mylog( char *fmt, ... ){
  FILE *fp = fopen( fn_mylog, "a");
  if( fp ){
  va_list args;
  va_start( args, fmt );
  vfprintf( fp, fmt, args );
  va_end( args );
  }
 }
 void dump_ParsedURL( ParsedURL *p ){
  if( p ){
  printf_mylog( " host:[%s] file:[%s] real_file:[%s]\n",
  p->host, p->file, p->real_file );
  }else{
  printf_mylog( " ParsedURL is null.\n" );
  }
 }

5905802017/12/08(金) 12:33:40.63
[dump 結果]
url.c:
  baseURL(Buffer *buf){ ... dump_ParsedURL(buf->baseURL); ... }

https://mevius.5ch.net/test/read.cgi/unix/1185784998/ へのアクセス時

  host:[mevius.5ch.net] file:[/unix/] real_file:[(null)]
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0019 へのアクセス時

  host:[(null)] file:[/] real_file:[(null)]
  ^^^^ 不具合

591名無しさん@お腹いっぱい。2017/12/08(金) 15:37:22.39
取り敢えずこんな感じ?
ttps://pastebin.com/wtiNPhJm

baseタグのhrefを解釈する時に使われているparseURL関数で
引数のurlにスキームが存在しないとそのurlが
ローカルのものとして解釈されるのが原因だと思う。

lynxでは絶対URIじゃないbaseタグは無視している様なので
w3mでも無視していいかなと。

5925802017/12/08(金) 19:10:52.21
>>591
おお、gihyo.jp も普通に見れるようになってますね

個人的には、
HTMLlineproc2body(Buffer *buf, Str (*feed) (), int llimit)
...
case HTML_BASE:
...
if( p && p[0]=='/' ) break; /* この一行を追加して、invalidな <base>タグを弾く */
if (!buf->baseURL)
で良いかなー、とか検討中だった
スキーマの使われ方とかまだ見てないですが、利用した方がベターっぽいですね

インライン画像がたまに表示されない気がするけど、気のせいだろか?
もうちょっと見てみます

5935912017/12/08(金) 21:36:35.12
>>592
まだ確認してませんが
HTMLtagproc1 (>>591の@@ -5066,6 +5066,8 @@)の方にも
同じことしたのが原因な気がしてきました。
該当部分が#ifdef USE_IMAGE内なので
画像表示がおかしくなるならここが原因かもしれない…

そもそもスキームで判定するのがいけない、という可能性もあるので
そっちの方も調べてみます。

5945802017/12/09(土) 09:48:30.95
>>591
[file.c]
 HTMLlineproc2body( )
  case HTML_BASE: にて、
base=NULL としてしまうと、サイトの初回訪問時(=画像がキャッシュされていない状態)では、インライン画像が表示されないみたいです
ParsedURL *base は、HTMLlineproc2bodya の先頭の方で、バッファの URL によって初期化されてて、NULL にしては駄目っぽい

595580=5942017/12/09(土) 18:28:47.68
すまん、完全オリジナルじゃなくて debian の git patch をあてた方でチェックしてた…
base 変数はなかった

混乱させてすまん

5965802017/12/10(日) 12:28:50.09
>>591
オリジナルにこのパッチを当てた時は問題なかったです
お騒がせしました(一応報告まで)

テスト方法(Linux Mint serena 64bit環境)
$ mkdir w3m_test; cd w3m_test
$ wget https://downloads.sourceforge.net/w3m/w3m-0.5.3.tar.gz
$ wget http://www.linuxfromscratch.org/patches/blfs/svn/w3m-0.5.3-bdwgc72-1.patch
$ tar zxvf w3m-0.5.3.tar.gz
$ cd w3m-0.5.3
$ patch -Np1 -i ../w3m-0.5.3-bdwgc72-1.patch
$ patch -Np1 -i ../wtiNPhJm.txt ## ← >>591 のpatch
$ sed -i 's/file_handle/file_foo/' istream.{c,h}
$ sed -i 's#gdk-pixbuf-xlib-2.0#& x11#' configure
$ sed -i 's#/libexec#/lib#' configure ## ← w3mimg 用に微調整
$ PKG_CONFIG_PATH="/usr/lib/openssl-1.0/pkgconfig:$PKG_CONFIG_PATH" \
LIBS="-lX11 -ldl -lXext -lz" \
./configure --prefix=/usr --sysconfdir=/etc \
--with-migemo=cmigemo
$ make
$ rm ~/.w3m/w3mtmp*
$ ./w3m -v http://gihyo.jp/admin/serial/01/ubuntu-recipe/0019
$ ./w3m -version
w3m version w3m/0.5.3, options lang=en,m17n,image,color,ansi-color,mouse,gpm,menu,cookie,ssl,ssl-verify,external-uri-loader,w3mmailer,nntp,ipv6,alarm,mark,migemo

w3mimgは、
Makefile にて、
libexecdir = ${exec_prefix}/lib
w3mimgdisplay を /usr/lib/w3m/w3mimgdisplay に配置して確認

参考: ttp://www.linuxfromscratch.org/blfs/view/cvs/basicnet/w3m.html

597名無しさん@お腹いっぱい。2017/12/29(金) 06:58:35.15
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

2HILOH1I8V

598名無しさん@お腹いっぱい。2018/01/15(月) 00:58:04.24
githubあたりに公式で置いてほしい…
パッチが分散しすぎてorz
いまはとりあえず本家が追いつくまでdebianから落としたやつがいいのかな?
sixel関連のパッチの置き場所が無いのでここで質問してみたテスト

いやね、0.5.3->deb系パッチ->sixelパッチ->data-urlパッチ->data-srcパッチ順番だと
本家0.5.3対象でdiff作った奴とはconflictするんで。

599名無しさん@お腹いっぱい。2018/01/15(月) 08:02:57.35
sf.netのアカウント持ってる人全員inactiveなのでgithubに移行のしようもないからな…

600名無しさん@お腹いっぱい。2018/02/07(水) 08:02:38.47
おはようございます、何方か
w3mでアマゾン(amazon.co.jp)のサインインは可能でしょうか?
立ち上げは
w3m -cookie https://amazon.co.jp/
でconfigの方は
cookie_avoid_wrong_number_of_dots
cookie_accept_domains
cookie_reject_domains
accept_bad_cookie 0
accept_cookie 1
show_cookie 1
use_cookie 1
で試したのですが、サインインのページではパスワードinputしか表示されず
試しに入力してみると「続行するには、cookieを有効にしてください」
と表示され、サインインできません。
画像表示ONでw3m試すと以外と快適なので、可能であればそのまま商品購入したいです
(現状ではFF立ち上げてサインイン→購入ボタン以下略なので)

601名無しさん@お腹いっぱい。2018/02/14(水) 09:56:27.98
☆ 日本の、改憲をしましょう。現在、衆議員と参議院の両院で、
改憲議員が3分の2を超えております。『憲法改正国民投票法』、
でググってみてください。国会の発議はすでに可能です。
平和は勝ち取るものです。お願い致します。☆☆

新着レスの表示
レスを投稿する