w3mでyahoo検索

ブラウザがw3mだと、yahooで検索しようとしてもまともに検索できない。追記: http://pc8.2ch.net/test/read.cgi/unix/1106393065/881- User-Agent を IE のに変えるとよいそうな
追々記(10/13): 直ったようだ
google.cgi をいじって yahoo 用に変更した local cgi を作ってみたが、

  • Linux では検索はできるが再検索するとおかしくなる
  • Cygwin ではアルファベットのみなら大丈夫だが、仮名や漢字での検索はうまくいかない。あと、(検索はできるようになった)再検索するとおかしい

以下は作った local cgi

#!/usr/bin/perl

# ~/.w3m/urimethodmap
# ya:     file:/cgi-bin/yahoo.cgi?%s
# yahoo:  file:/cgi-bin/yahoo.cgi?%s

$url = "http://search.yahoo.co.jp/bin/";
$_ = $ENV{"QUERY_STRING"};
$nkf = "/usr/bin/nkf.exe -e";
s@^ya(hoo)?:@@ && s@^//@@ && s@/$@@;
if ($_) {
  s/\+/ /g;
  s/%([\da-f][\da-f])/pack('C', hex($1))/egi;
  $_ = `/bin/echo -n $_ | $nkf `;
  s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg;
  $url .= "search?p=$_&eo=UTF-8&meta=vl%3Dlang_ja";
} else {
  $input = "w3m-control: GOTO_LINK";
}
print <<EOF; 
w3m-control: GOTO $url
w3m-control: DELETE_PREVBUF
w3m-control: SEARCH \\[
w3m-control: SEARCH \\[
w3m-control: MOVE_RIGHT
${input}

EOF