[リストへもどる] [返信 ]  [新着記事] [最新50] [ワード検索] [過去ログ]

記事閲覧・返信


タイトル Re: テスト用スクリプト
投稿日: 2024/12/22(日) 19:24
投稿者: としき
参照先http://toshiki.la.coocan.jp/
 番 号 11777    11776 番 konno さんへのコメント    コメント数 2

> 色々ゴチャゴチャしてますが、メールで送りました。

いただきました。
ゴチャゴチャしているのもそうですが、送られてきたスクリプト、いろいろと悪い
意味で予想が外れていました。

#11773
> そして、そのリンクだけを読み込もうとして、つまり、他のサイトを読まない、素の
> シンプルなテスト用のスクリプトを作って、それで
> > これについてですが、#11754で私が尋ねたように、軟式さんのサイトだけを読み込む
> > スクリプトでも同じ状況になる、ということですよね。"
> この状況が起こるようであれば、私にもそのテスト用スクリプトを送ってほしい、

と書いたので、当然、該当URLを読み込む部分だけのスクリプトで試験していて、その
スクリプトを送ってくると思っていたのですよ。が、いろいろな出力部分が残って
いて、それがわりと迷彩状態。もうね、この段階で私の期待はずれ。
テストはできるだけシンプルなコードで、ということは心がけてほしい。

で、まずは手始めに、送っていただいたコードの中の取得するURLを指定している
だけを、うまく取得できるはずのbing経由に書き換えてlacoocanの私のスペースに
アップロードしてアクセスするも、あえなくlacoocanからの

> Internal Server Error
> 実行エラー
> CGIの実行時にエラーが発生しました。

の表示。う〜ん、一体何が悪いのかわからん。
もしかしたら、いらなさそうなところを全部削ればきちんと動くのかもしれません
が、そんなこともやってられない。結局、自前で試験用スクリプトを作ってしまい
ました。以下のような感じ。

#!/usr/local/bin/perl

use LWP::UserAgent;

my $ua = 'Mozilla/5.0 (compatible; MSIE 9.0; Trident/5.0)';
my $timeout = '230';
my $lwp = LWP::UserAgent->new( agent => $ua, timeout => $timeout );

my @new = ();
my @list = ();
my $outline = '';
print "Content-type: text/html\n\n";
print "<html><head><title>dummy</title></head><body>\n";

## コンテンツの取得
my $url1 = 'https://www.nanshiki.co.jp/nanshiki.xml';
# my $url1 = 'http://27-138-85-108.rev.home.ne.jp';
my $res1 = $lwp->get( $url1 );

## ダウンロード成功時
if ( $res1->is_success ) {
print "success";
## ダウンロード失敗時
} else {
print "error\n";
}
print "</body></html>\n";

__END__


これだけのコードで、うまくデータが取得できないことは確認。
ということで、ここから調査開始。
まず軟式さんのサイトの素性調査。すると、bit-driveというソニー系のサービスを
利用していることが判明。が、このサービスが特殊、というのは引っかかってこない。
次に、LWPでうまくアクセスできない、という状況を調査。
すると、20年近く前のQ&Aで、Wikipediaにうまくアクセスできないという状況が
あったらしい。このときは、LWPのデフォルトのユーザーエージェントがlibwww-perl
となっていて、そのUAでのアクセスをWikipediaが蹴っ飛ばしているから、とのこと。
でも、今回はスクリプトでUAを変更しているから関係ないよなぁ、と思いつつ、
FirefoxのアドオンでUAを偽装してlibwww-perlを偽ってみたり、UAなしにして
みたりして軟式さんのところにアクセスすると、普通にアクセスできるので、おそらく
UAは関係なさそう。
ただ、これに着想を得て。
LWPがアクセスするときの、HTTPのプロトコルレベルで何か余計なものがくっついて
いる可能性があるのではないかと思い、自宅で80番ポートにダミーのサーバを立てて
プロトコルレベルでのやり取りを観察しようと思いました。使ったソフトは「鯖男」
というものです。ベクターにあります。
結果、「インデックスがリストの範囲を超えている」みたいなエラーメッセージを
「鯖男」が吐いてきて。つまり、「鯖男」が想定していないようなデータをニフティ
のLWPは送りつけている模様。

ここまでの調査でわかったことはこれだけ。
今後の調査の方向。
LWP::UserAgent ではなく LWP::Simple にある getprint というのを使うと、少し
詳しいステータスが取れるらしい。これでエラーコードか何かがわかれば、さらに
先に進む手がかりが得られるかも。
もちろん、LWP::UserAgent ですら、私は全てを把握できているわけではないので、
その中で何か有用なものがあれば使ってみたい。

途中経過でした。

   - No.11777 一括表示へ   -   コメント元:11776 一括表示へ  - pre


- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
11751.サイト更新 新着情報 V0.955 - konno konno 24/12/18-22:47
 ┣11754.Re: サイト更新 新着情報 V0.955 - としき 24/12/19-00:28
 ┃┗11758.Re^2: サイト更新 新着情報 V0.955 - konno 24/12/19-01:59
 ┃ ┗11762.Re^3: サイト更新 新着情報 V0.955 - としき 24/12/20-00:42
 ┃  ┗11767.Re^4: サイト更新 新着情報 V0.955 - konno 24/12/20-20:08
 ┃   ┗11773.Re^5: サイト更新 新着情報 V0.955 - としき 24/12/20-23:22
 ┃    ┗11776.テスト用スクリプト - konno 24/12/22-15:23
 ┃     ┗11777.Re: テスト用スクリプト - としき 24/12/22-19:24
 ┃      ┣11778.Re^2: テスト用スクリプト - konno 24/12/24-23:54
 ┃      ┗11803.Re^2: テスト用スクリプト - としき 24/12/28-18:24
 ┃       ┗11809.Re^3: テスト用スクリプト - konno 24/12/28-23:48
 ┣11756.Re: サイト更新 新着情報 V0.956 - konno 24/12/19-01:39
 ┣11759.Re^18: 過去ログ日付取得のラフスケッチ - konno 24/12/19-21:42
 ┃┣11763.Re^19: 過去ログ日付取得のラフスケッチ - としき 24/12/20-00:48
 ┃┃┗11768.Re^20: 過去ログ日付取得のラフスケッチ - konno 24/12/20-20:22
 ┃┃ ┗11772.Re^21: 過去ログ日付取得のラフスケッチ - としき 24/12/20-23:04
 ┃┃  ┗11860.Re^22: 過去ログ日付取得のラフスケッチ - としき 25/01/03-18:42
 ┃┃   ┗11862.Re^23: 過去ログ日付取得のラフスケッチ - konno 25/01/03-21:11
 ┃┃    ┗11867.Re^24: 過去ログ日付取得のラフスケッチ - としき 25/01/05-11:17
 ┃┃     ┗11869.Re^25: 過去ログ日付取得のラフスケッチ - konno 25/01/05-21:49
 ┃┃      ┗11871.Re^26: 過去ログ日付取得のラフスケッチ - としき 25/01/08-01:20
 ┃┗11908.Re^19: 過去ログ日付取得のラフスケッチ - としき 25/01/24-00:38
 ┃ ┗11911.Re^20: 過去ログ日付取得のラフスケッチ - konno 25/01/25-23:00
 ┃  ┗11913.Re^21: 過去ログ日付取得のラフスケッチ - としき 25/01/27-00:46
 ┣11788.サイト更新 新着情報 V0.957 - konno 24/12/26-22:49
 ┃┗11798.Re: サイト更新 新着情報 V0.957 - としき 24/12/28-03:06
 ┃ ┗11804.Re^2: サイト更新 新着情報 V0.957 - konno 24/12/28-20:16
 ┣11819.サイト更新 新着情報 V0.958 - konno 24/12/29-23:55
 ┃┗11822.Re: サイト更新 新着情報 V0.958 - としき 24/12/30-15:18
 ┗11882.サイト更新 新着情報 V0.960 - konno 25/01/14-02:37

- - 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)[引用無し]
おなまえ 
Eメール 
タイトル 
メッセージ auto soft pre(図表 ※折り返しません)
 参照先 
 暗証キー (英数字で8文字以内)
 プレビュー          

- 以下のフォームから自分の投稿記事を修正・削除することができます -
   処理   記事No   暗証キー
    [ページトップへ] [管理用]