Perlから「はてな」のブックマーク数を取得時に「slv3 alert handshake failure」が出て取得出来ないので他のサーバーに投げて代わりにwgetで取得されるメチャクチャな方法でごまかした個人的メモ

カテゴリー:Perl・Javascript・python、サーバー管理メモ(記事数:82)



↑B


2020.03.20

Perlから「はてな」のブックマーク数を取得時に「slv3 alert handshake failure」が出て取得出来ないので他のサーバーに投げて代わりにwgetで取得されるメチャクチャな方法でごまかした個人的メモ

PerlからのHTTPSアクセスまわりがもう末期的な感じで、黄昏の言語なのかなと思っちゃう今日この頃。
しかし20年を超えるWeb運営の中で組んだ巨大で複雑怪奇なシステム群を別の言語で書き直すのも面倒だしねぇ・・・・、ここ数年でも何度かアクセス出来ないサーバーが出てきてPerlとか色々とアップデートしたらどうにかアクセス可能になったんだけど、直近だと「はてな」のAPIサーバーとかOSもPerlまわりも自動で出来るかぎり最新にしてもアクセス出来ないorz。

(1)通常のアクセス方法
$URLにアクセスするアドレスを入れて


use LWP::UserAgent;
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
$ua->agent('Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0.1');
my $req = HTTP::Request->new("GET",$URL);
$req->referer($URL);

これで$ua->request($req)->as_stringでアクセス先の内容が参照出来る。

(2)(1)の方法で取得すると「slv3 alert handshake failure」ってなる場合、Perlを諦めてwgetに投げるw

if ($ua->request($req)->as_string =~ /sslv3 alert handshake/){
my $targetUrl='"'.$URL.'"';
my $fname='getfiletemp.txt';
`/usr/bin/wget --no-check-certificate -q -O $fname $targetUrl`;
}

でファイル名$fnameにアクセスしたいURLの内容が入るのでそれを読み込む。

(3)wgetが利用出来ないレンタルサーバーの場合
(2)の内容をwget出来る別サーバーに投げて取得ww

で結局うちのサイトは(3)で動いてます。最終的に使っているコード
WebAccess('http://usepokcet.com')とかで取得出来る。

sub WebAccess{
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
$ua->agent('Mozilla/5.0 (Windows NT 6.1; rv:15.0) Gecko/20100101 Firefox/15.0.1');
my $req = HTTP::Request->new("GET",$_[0]);
$req->referer($_[0]);
if ($ua->request($req)->as_string =~ /sslv3 alert handshake/){
return(&WebAccess('http://xxxxx.xxx/p.cgi?url='.$_[0]));
}else{return($ua->request($req)->as_string);}
}

別サーバーのp.cgiの内容

#! /usr/bin/perl

use CGI;
my $q = new CGI;
my %FORM=();
my @FORMname= $q->param();
foreach my $dammy (@FORMname){$FORM{$dammy}=$q->param($dammy);}

print "Content-Type:text/html\n\n";
$targetUrl='"'.$FORM{'url'}.'"';
$fname='getfiletemp.txt';
`/usr/bin/wget --no-check-certificate -q -O $fname $targetUrl`;
my @Data=&GetAllData($fname);
print @Data;
exit;

sub GetAllData{
my $FLFile=$_[0];
my @FL;
open (FL,"$FLFile");
flock(FL,1);
@FL=;
close FL;
return (@FL);
}


乗り換えるとしたら何が良いんだろう?なるべく緩い言語が良いんだけどねぇ。
Python?、JavaScript +node.js?

Category:Perl・Javascript・python、サーバー管理メモ

 Keyword:Access/19 orz/241 Java/50



コメント

いいっすね!=1
001 [03.21 01:23]匿名さん@Dion:昔から動いているものでHTTPSで接続エラーってことはTLS1.0/1.1の無効化が原因っぽい気がするので、まずはTLS1.2以降で接続できるか確認、出来ないようなら出来るようにモジュールやPerlの動いているサーバの設定の見直しとかしてみてはどうでしょうか?
002 [03.21 01:27]匿名さん@Dion:個人的にはC#(.NET Core)かTypeScript(JavaScript)+node.jsですが、お仕事で分析とかに使うならPython、あんまり労力掛けたくなければRubyとかでもいいんじゃないでしょうか。 (1)
003 [03.24 10:59]MotoZ2User:(1)で失敗するのは、LWPが使っているOpenSSLライブラリのバージョンが古いためと思います。流血沙汰+ワンコ(Heartbleed+poodle)のダブルコンボでメタメタなので。https://stackoverflow.com/questions/4760....
004 [03.24 11:03]MotoZ2User:モジュールの入れ方も進歩しているから、自動的に更新できる方法に変えた方がエエよ。昔は tarball を make したり、Perl::CPAN を叩いたり、cpanminus 入れたりしていたと思うけど、libwww-perl は apt-get で入る。
005 [03.24 11:14]ふぇちゅいん(管理人) TW★74:さくらVPSはWebminから全ライブラリアップデートしたら接続出来るようになったのでOKだったんだけど、レンタルサーバーってライブラリのアップデートしてくれなんだよ、まあ互換性の問題とか出てきたら面倒なんだろうけど。
006 [03.24 13:32]MotoZ2User:あー、レンサバですか。そらキツいわ…… 自分もディレクトリ変更からのmakeで無理やりぶち込んだかな。メンテナンスを考えると気が狂いそうだ。

名前 ↑B

コメント(※改行は省略されます)

※3回以上の連続書き込み不可
この記事のアクセス数:471
2025.01.25正規表現のオンラインWebチェッカー
2021.12.05中国のSippedが50ドルQVGAののToFカメラユニットを今年中に出荷開始。UVC、UART/SPI出力3コメ
2021.12.05Pythonのコードをワンラインで実行形式に変換してくれるPyInstaller1コメ
2021.12.03チャート、グラフを書くのに良さそうなGoogle Chart以外のJavascriptライブラリ5つ3コメ
2021.11.18まだ使ってる?今は非推奨となったJavaScriptの書き方。document.writeが強く非推奨だと!!!?4コメ
2021.10.19PerlのGD::Image->new()は画像じゃないデータを読み込ませるとエラーになることがあるので事前に手動で画像であることを確認した方が良い1コメ
2021.10.12【解決済み】ヨドバシとかZOZOのサイトにどうやってもスクリプトからアクセス出来ない16コメ
2021.08.31現代的なPerlの記述方法一覧2コメ
2021.07.09JavaScriptでワンタッチで仮想キーボードを表示する2コメ
2021.02.10PythonでPowerPointを作るライブラリ「python-pptx」が色々活用出来そう。22コメ


→カテゴリー:Perl・Javascript・python、サーバー管理メモ(記事数:82)
アクセス数の多い記事(過去1ヶ月)
●2025.03.20:どんな不都合が・・・(未分類)679access
●2025.03.14:8年ぶりにサンライズ出雲に乗車!家族4人で「ソロ個室」4部屋に上り乗車したメモ(#おでかけ情報)478access
●2024.09.15:我らがトライアル。ベトナム米を販売開始!(#グルメ・料理)451access
●2025.03.16:大量のレモンを余さず果汁絞るのが難しい。安い絞り器はクソばかり(#自宅DIY #ルーフテラス活用)444access
●2025.03.11:初めての焼き肉きんぐ(物語コーポレーション)の株主優待お食事券をゲット!!!!!優待・配当利回り年率3%程度(#お金 #マネー)361access

すべて見る

Java
Java
2025/04/01 08:46:イーロン・マスク率いるDOGEが6000万行ものCOBOLコードを含む社会保障局のシステムをコード生成AIでわずか数カ月の内に移行させようとしており危険性が指摘されている(はてなブックマーク - 人気エントリー - 総合)
2025/04/01 08:18:イーロン・マスク率いるDOGEが6000万行ものCOBOLコードを含む社会保障局のシステムをコード生成AIでわずか数カ月の内に移行させようとしており危険性が指摘されている(GIGAZINE)
2025/03/30 01:48:「CSS効いてない。なんで!?」って2時間ぐらい悩んでたら、先輩に「Chromeのシークレットモードで見てみ?」って言われて秒で解決した。これエンジニア界の常識なのか?(はてなブックマーク - 人気エントリー - 総合)
2025/03/26 15:10:マイナンバーのシステム開発の現場 2019?2020(ザード@) - カクヨム(はてなブックマーク - 人気エントリー - 総合)
2025/03/25 13:52:アピリッツ---子会社によるJUTJOY の株式取得 - 最新株式ニュース(ザイ・オンライントップ)
Access
Access
2025/04/01 07:02:(DeepL:お気に入りのポータブル・プロジェクターが今なら70ドル引き)My Favorite Portable Projector Is $70 Off Right Now(Lifehacker)
2025/04/01 00:32:(DeepL:ティーザー動画でOppo MagのFind X8s用ケースとアクセサリーを紹介)Teaser video shows off the Oppo Mag cases and accessories for the Find X8s(GSMArena.com - Latest articles)
2025/03/29 21:48:(DeepL:https://dl.fujifilm-x.com/support/manual/accessories/bc65n_manual_ja_en_fr_de_es.pdf)https://dl.fujifilm-x.com/support/manual/accessories/bc65n_manual_ja_en_fr_de_es.pdf(kaeru-no-tsuraのはてなブックマーク)
2025/03/28 22:32:(DeepL:アクセサリー付きアクションカメラが200ドル以下に)This Action Camera With Accessories Is Now Under $200(Lifehacker)
2025/03/28 04:52:(DeepL:Garminsの新しい有料版はAIでいっぱいだが、実際に便利そうだ)Garmin’s New Paid Tier Is Filled With AI, but Actually Seems Useful(Gizmodo)
orz
orz
2025/03/25 17:30:(DeepL:Oppo Find X8 Ultraはバッテリーを大幅に増やして登場する)Oppo Find X8 Ultra is coming with a huge battery increase(GSMArena.com - Latest articles)
2025/03/19 17:38:本日のお買い得商品 小型軽量な高倍率ズームレンズ「NIKKOR Z DX 18-140mm f/3.5-6.3 VR」がセール中(デジカメ Watch)
2025/03/04 03:06:(DeepL:格安ゲーミングスマートフォン「nubia Neo 3」と「Neo 3 GT」が正式発表、折りたたみ可能な「ZTE Flip2」はグローバル展開へ)nubia Neo 3 and Neo 3 GT budget gaming smartphones go official, ZTE Flip2 foldable now global(GSMArena.com - Latest articles)
2025/02/28 11:06:人気オープンワールドレースゲーム『Forza Horizon 5』PS5版の発売日が4月29日に決定。「Horizo??n Realms」の最新情報も公開。スタジアムトラックをはじめ、表彰タブや4種の車、新DLCなど新要素が盛りだくさん(電ファミニコゲーマー ? ゲームの面白い記事読んでみない?)
2025/02/28 06:04:(DeepL:Forza Horizon 5』、PS5でアーリーアクセスのゴミという奇妙な新形態を開拓)Forza Horizon 5 Pioneers Bizarre New Form Of Early Access Garbage On PS5(Kotaku)
Perl
2025/04/01 08:02:マイクロソフト、OSを介さず仮想化ハイパーバイザ上でWasmを高速起動し実行できる「Hyperlight Wasm」、オープンソースで公開(はてなブックマーク - 人気エントリー - 総合)
2025/03/31 23:42:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)Shinichir? Watanabe’s New Anime Lazarus Has the Juice(Gizmodo)
2025/03/28 22:22:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)Author Correction: Microglial mechanisms drive amyloid-β clearance in immunized patients with Alzheimer’s disease(Nature Medicine)
2025/03/27 10:30:Prime Video 4月新作は「機動戦士Gundam GQuuuuuuX」「片田舎のおっさん、剣聖になる」(AV Watch)
2025/03/23 09:10:(DeepL:小さなキューブ型キャンピングカーは、お金で買える最もステルスなナノホームかもしれない)Tiny cube camper might be the stealthiest nano-home money can buy(New Atlas - New Technology & Science News)
2025/03/21 15:24:(DeepL:人気ジムサプリの筋肉増強効果は誇張されすぎているかもしれない)Popular gym supplement's effects on muscle gains might be overstated(New Atlas - New Technology & Science News)
2025/03/20 03:26:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Charted: How Amazon Makes Its Billions(Visual Capitalist)
2025/03/20 03:20:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Split Fiction Players Complete Super-Secret Level And Win Awesome Prize(Kotaku)
2025/03/20 03:16:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Off-grid tiny house provides road-ready freedom for two(New Atlas - New Technology & Science News)
2025/03/20 00:50:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)The Difference Between Weightlifting and Weight Lifting (and Why It Matters)(Lifehacker)
2025/03/17 17:54:エプソン、オフィス内で使用済みの紙から再生紙を生み出す「PaperLab」に新型 (PC Watch)
2025/03/15 06:56:(DeepL:ハイパーポートチューブの中を時速400マイルで移動する輸送コンテナ)HyperPort: Moving shipping containers at nearly 400 mph through a tube(New Atlas - New Technology & Science News)
2025/03/13 02:44:(DeepL:モンスターハンターワイルドの最強武器はチャージブレード:使いこなすには?)Monster Hunter Wilds' Best Weapon Is The Charge Blade: Here's How To Master It(Kotaku)
2025/03/10 23:36:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)New leak brings more details about the iQOO Z10 series including the launch timeline(GSMArena.com - Latest articles)
2025/03/06 20:56:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)Microglial mechanisms drive amyloid-β clearance in immunized patients with Alzheimer’s disease(Nature Medicine)
2025/03/03 17:36:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)(FierceBiotech)
2025/02/27 09:22:[企業] Merck & Coの元研究開発長Roger Perlmutter氏のEikon社が3億5070万ドル調達(BioToday.com [新着ニュース])
2025/02/27 00:42:(DeepL:read timeout at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/Net/HTTP/Methods.pm line 274.)Windows 11 Pro Is Now Just $10 (95% Off), Cheaper Than a Monthly Netflix Subscription(Gizmodo)
2025/02/21 13:52:(DeepL:Wide character in HTTP request (bytes required) at /usr/local/perl/5.32/lib/perl5/site_perl/5.32/LWP/Protocol/http.pm line 280.)?????(はてなブックマーク - 人気エントリー - 総合)
2025/02/17 14:36:(DeepL:)Shoei’s helmet personalization tech can’t come soon enough(New Atlas - New Technology & Science News)