htmltodatByFiddler v3.06 by mukiyu
これは、従来 JScript.NET で書かれていた htmltodatByFiddler を C# に移植したものです。
JScript.NET版とは導入手順が多少変わりますのでご注意ください。
[使い方]
・まず、現在Fiddlerを使用されていない方は
Fiddler公式サイト:http://www.telerik.com/download/fiddler
からFiddlerのセットアッププログラムをダウンロードしインストールしてください。
.NET Framework上で動作しますので、お使いのバージョンを事前に確認しておいたほうがいいかもしれません。
(確認方法はここ等 http://msdn.microsoft.com/ja-jp/library/hh925568%28v=vs.110%29.aspx )
・Fiddlerを起動し、メニューから Tools - Options - Scriptingタグを選択します。
Language が Jscript.NET と C# で選べるようになっているはずなので C# を選びます。
ここを変更すると「再起動が必要です」とメッセージが出るはずなのでFiddlerを再起動してください。
・メニューから Rules - Customize Rules を選択します。
デフォルトの設定ではシステム標準のエディタで CustomRules.cs というファイルが開かれるはずです。
(使用するエディタはFiddlerの設定で変更可能)
中にいろいろC#の記述がありますが、この途中に各ファイルの内容をコピペで挿入します。
・一番最初に
using System;
using Fiddler;
等、using で始まる行が数行並んでいるのでその下に using.cs.txt を挿入
・名前空間、クラスの記述
namespace Fiddler
{
public static class Handlers
{
の下に Handlers.cs.txt を挿入
・メソッド
public static void OnBeforeRequest(Session oSession)
の最後(次の public static 〜 に直近の } の上)に OnBeforeRequest.cs.txt を挿入
・メソッド
public static void OnBeforeResponse(Session oSession)
の最後(次の static void 〜 に直近の } の上)に OnBeforeResponse.cs.txt を挿入
以上を上書き保存します。
※using と Handlers は C#版で新しく追加したもので、従来と別のやり方で導入が必要になります。
※OnBeforeRequest と OnBeforeResponse は従来からあるもので導入方法も同じなのですが
今までの説明があいまいだったので少し表現を変えました。
「この2つは今までと同じやり方」という理解で結構です。
保存されたファイルのありかは C:\Users\ユーザー名\My Documents\Fiddler2\Scripts\CustomRules.cs です。
このファイルはC#のスクリプトファイルなので自分でカスタマイズも可能です。
JScript.NET から C# にスクリプト設定を変更した場合でも JScript.NET でのファイルは
CustomRules.js の名前で残っていますので設定を元に戻すことも可能です。
・2ch専用ブラウザの設定で読み込みプロキシサーバの設定を
アドレス:localhost(または127.0.0.1)
ポート番号:8888
にします。
(ポート番号はFiddler側の設定で変更可能)
※書き込みプロキシの設定は必須ではありませんが、環境に合わせて必要ならば設定してください。
[動作環境]
動作確認を行った環境はWin8.1、.NET Framework 4.6.1、Fiddler 5.0.20192.25091
です。
[付記]
このスクリプトに関する質問・不具合報告等は当面
http://jbbs.shitaraba.net/bbs/read.cgi/computer/1929/1038409548/
のスレッドで受け付けます。(あまりできることはないような気もしますが)
[更新履歴]
3.06 (2024/04/04)
・5chの read.cgi の変更に対応
3.05 (2023/06/23)
・5chの read.cgi の変更に対応
3.04 (2020/06/16)
・bbsmenu.html内のURLの記述で「https://」や「5ch.net」の記述に対応していない
ブラウザへの対応。
OnBeforeResponse で、 bbsmenu.html からのレスポンス内容を
https:// → http:// 、5ch.net → 2ch.net に変換する処理を入れた。
(デフォルトではコメントにしているので適宜コメントを解除してください)
OnBeforeReqest では 2ch.net への リクエストは全部 5ch.net へのリクエストに
変換するようにした。
3.03 (2020/06/08)
・5chの仕様変更により http:// によるリクエストが全て https:// にリダイレクト
されるようになったので、5chに対するリクエストは最初から https:// にするよう変更
3.02 (2020/05/24)
・5chの仕様変更?により名前欄にimgタグが入るようになり、それに伴い
一部の正規表現が不具合を起こしてスレが壊れるケースが出てきたので対応
3.01 (2019/09/01)
・一部サーバでリクエストURLの末尾が"/"でないとエラーになるケースが
出てきたので対応
3.00 (2018/06/24)
・スクリプトを JScript.NET から C# に移植
・一部サーバでread.cgiがバージョンアップ(07.2.1)されたので対応
(タグ、要素の追加)
・書き込みの処理を見直し
2.26 (2018/02/13)
・bbspinkのread.cgiがバージョンアップ(07.2.0)されたので対応
(バナー広告の除去)
2.25 (2017/10/13)
・read.cgiがバージョンアップ(07.1.0)されたので対応
(スレッドタイトルの取得部分)
2.24 (2017/10/02)
・5ch.net への暫定対応
2.23 (2017/05/04)
・read.cgiがバージョンアップ(07.0.1)されたので対応
2.22 (2017/04/26)
・read.cgi 07系に仕様変更があったので対応
2.21 (2017/04/23)
・前バージョンのバグを修正
2.20 (2017/04/22)
・2chの一部のサーバでread.cgiがバージョンアップ(07.0.0)されたので対応
2.19 (2017/04/09)
・itest.2ch.net/xxx/〜 へのリクエストがあったら xxx.2ch.net/〜 に飛ばすよう修正
(itest.bbspink.com についても同様)
・https://〜 へのリクエストがあった場合への対応
2.18 (2017/03/25)
・BeアイコンやEmoticonやお絵描き機能の画像など、html上では
で表される
(dat上では sssp://〜 となる)要素について、http: が省略されるようになったため対応
2.17 (2017/03/11)
・透明あぼーんへの対応の一つとしてレス番0のレスを削除するようにしていたが
スレタイも削除するようになってしまっていたので修正
2.16 (2017/03/08)
・前バージョンの不具合(beID周りの処理の漏れ、名前欄のfontタグ、バナー広告の
除去漏れ)に対応
・透明あぼーんへの対応
2.15 (2017/03/07)
・bbspinkのread.cgiが仕様変更されたので対応
2.14 (2016/03/26)
・read.cgi 06系(の一部だけ?)最終レスの後ろに広告が入るようになったので
対応
2.13 (2016/01/11)
・read.cgi 06系で名前欄やメール欄にhttp://〜等のURLが書き込まれた場合
アンカータグが付いてしまうのでそれを除去するよう修正
2.12 (2015/12/25)
・レスアンカーに対する