SYSYA(wgetに近いソフト)のエラーについて

http://hp.vector.co.jp/authors/VA023499/soft/sysya/sysya-errormessage.html
の最下段に、
「Bad receive size.」
というエラーが出た場合、
「受信済みのサイズの方が小さい場合は、自動的に継続受信で再試行します。受信済みのサイズの方が大きい場合は、ファイルの先頭から受信し直します。 」
とありますが、追加でデータを受信すると、バイナリデータなどの場合、壊れたりすることはないのでしょうか?

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/12/28 18:42:11
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:t-wata No.1

回答回数82ベストアンサー獲得回数13

ポイント60pt

> 追加でデータを受信すると、バイナリデータなどの場合、壊れたりすることはないのでしょうか?

追加で受信して既存ファイルに追記したことが原因で壊れることは無いです。

もちろんクライアント側(SYSYA)もサーバ側も正しくHTTP/1.1のレジュームに対応していて、先の受信もあとの受信も正しいデータを受信できていることが前提ですが。


もっとも受信中にサーバ側からの送信が途絶えるような状況だと、それまで受信したデータ自体も怪しいですし、先の受信で途中までバイナリを受信後、

レジュームしたら「ただいま混雑中です」ページをステータスコード200などで送信してくるようなサーバ(良くあると思いますよ)だと明らかに壊れるので、

再受信の結果ファイルが壊れてたとしても不思議ではないですが。

id:TREEG

回答いただきありがとうございます。

とても参考になりました。仕様上は正しくレジュームできるのですね。一応安心致しました。

なお、実用上ですが、

>もっとも受信中にサーバ側からの送信が途絶えるような状況だと、それまで受信したデータ自体も怪しいですし

これについては如何でしょうか?もし、このようなことが起これば、受信が終わった後などにサイズがおかしくなり、ダウンロードエラーが出ないでしょうか?

>レジュームしたら「ただいま混雑中です」ページをステータスコード200などで送信してくるようなサーバ

これについても、サイズエラーが出でそうなきがしますがどうでしょうかね?

2009/12/28 17:13:31
  • id:kn1967
    そもそも途中からのダウンロードに対応するかどうかは相手先のサーバ次第。

    その上、成功するか失敗するかは、常に付きまとう問題だから、対策としては・・・。

    相変わらず「1ヶ月間にxx人から」っていう回答拒否設定なので、
    とりあえずここまで。

    ※防衛手段のはずが、逆に、悪玉に利用されてる。
     悪玉は、複数のIDを定期的に新規に取り直して、常連回答者を回答拒否に入れる。
     つまり、他人の拒否による方法は、常連回答者を軒並み拒否してるのと同じ。
     どの常連回答者がまっとうな回答をいれてくれるかは、
     はてな利用暦の長い貴殿であれば、判断付くのではないか?
  • id:TREEG
    コメントありがとうございます。
    設定を変更致しました。お手数ですが、正式な回答をいただけると幸いです。
    拒否設定もまだ解消されていなかったのですね。XXは10にしていますので、普通に考えれば信頼に足るユニークID数だと思いますが、どうも、狙い撃ちされているようですね。また、まだ、続いているのですね。
    拒否設定も、イルカ賞5以上や取得後1ヶ月以上や拒否に重みを付けるなど、ある程度信頼できるIDから拒否設定された場合のみ採用するなど改良の余地がありそうですね。
    ヤフオクの違法申告も、ある程度の常連になるまでは、申告フォームすら現れませんしね。
  • id:kn1967
    仕様と壊れる原因は既に回答がついてるので、以下蛇足。

    (対策例1)チェックサム
    ダウンロードサイトなどではチェックサムを用意している場合があるので、
    それで確認する。
    (対策例2)複数回ダウンロード
    これは相手先に負荷を与える可能性があるため、日や時間をおいて行うのがベター。
    チェックサムが無い場合は、唯一とも言える確認手段。
  • id:TREEG
    再度のコメントありがとうございます。
    とても参考になりました。
    チェックサムのない場合、どうしても必要なファイルは、対策2でバイナリ比較が手軽かもしれませんね。
    なお、今回の件は、システムを改良した方が良いと思い、はてなへメールしておきました。
  • id:kn1967
    以下、お目汚し。

    >普通に考えれば信頼に足るユニークID数

    まっとうなシステムならば、そうなんですけどね。

    はてなでは個人認証を設けてないので、メールアドレスを複数取得して、
    一人何役もこなして複数のIDを取得する事が可能となっており、
    (規約では禁止していますが個人認証を設けてないので、スルー状態。)
    それを利用して、よく見かけるIDや、自分の邪魔になるIDを、
    それら複数のIDから回答拒否すれば、簡単に10や20に出来ます。

    それだけでなく、それらのIDは新規なので、
    他からの回答拒否はまだ受けておらず、しばらくは回答投稿し放題。
    ひとつの質問に、googleなどの検索結果を1件ずつ貼り付けるなどすれば、
    1回の検索で複数の投稿を行う事も可能となり、
    くだらない回答でも1ヶ月もあれば最低交換ポイントに達します。

    最低交換ポイントに達したら、
    個人の特定が少し難しいアマゾンチケットに交換し、
    そのIDは捨てて、新たなIDを取得し以下繰り返し。

    この周期は1-2ヶ月で繰り返す事ができ、
    被害総額は年間にすれば、数十万円レベルになります。

    これが「逆に利用されている」という事なのですが、対抗するには、
    システムの抜本的改定が必要なため、今日明日に対応できるような事ではなく、
    ユーザー同士で保身に走るしかないという悲しい現状なのですが、
    まだあまり力を貸してくれる人はいません。
    (だって、自分が攻撃受けたら嫌ですからね。
     私は今も攻撃受け続けていて、対応に追われてますが・・・。)

    ※ちなみに、一人で複数のIDを使って、短い周期で連続投稿する事は、
     良心の欠片も持ち合わせていない心と、少しのスキルがあれば半自動化が可能です。
    (システム作って攻撃してやれば、はてなも本腰入れるか?
     これでも良心あるつもりだから、やらないけどね。いや、ほんとに・・・。)
  • id:TREEG
    利便性を考えると、厳格な認証はない方が良いと思いますが、取得直後、同一IP、プロクシアクセスのデータを全てのユーザ管理に適応できるのはちょっと問題ありかと思います。また、住所確認やシステムを作り替えても、結局はいたちごっこですし、利便性を欠くだけのように思います。
    ホワイトリストやイルカ賞、回答数、前回回答日からの日数など、小手先だけの方法でも、それなりに効果的な方法はあるような気はしますけどね。
    まぁ、喧嘩は相手がいて初めて成り立つ物ですし、相手も人間でしょうし、そのうち熱も冷めますので、ムキにならず、新しいIDを追加機能を利用して回答するのもありかとは思います。熱の冷めた頃また、今のIDを使うのもありかとは思います。
  • id:kn1967
    サブIDによる逃げの一手だけは今のところは考えてないです。
    (使い続ける事による存在感が重要だと考えています。)

    それはさておき、おっしゃるように利便性の問題が第一なので、
    抜本的改定が難しく、今日明日って訳にはいかなんですよね。。。

    小手先だけでも人力の機能に追加対応してくれれば良いのですが、
    その辺はお願いし続けるしかないですね・・・。

    などと、
    結論の出ない雑談にまでお付き合いさせてしまって誠に申し訳なく思っていますが、
    端々ででも、こういった話を残していけば、他の回答者や質問者の目に、
    より多く止まることと思いますので、失礼ながら、コメント残させてもらいました。

    お付き合いくださり、ありがとうございました。
  • id:TREEG
    >サブIDによる逃げの一手だけは今のところは考えてないです。
    >(使い続ける事による存在感が重要だと考えています。)
    そう言った考えも重要ですし、好きではありますが、喧嘩(特に掲示板やblogなど)の一番面白くない終わり方って相手が完全無視する事ですよね。とことんも良いですが、終わらせたいのであれば、こういった方法も非常に有用ではないかと思っています。
  • id:kn1967
    否定している訳ではないですよ。
    あくまで”私個人のはてなでのスタンス”だけの話ですから・・・。


    ちなみに、
    メインIDが拒否されている場合、サブIDも自動的に拒否の対象になるので、
    実は「新しいIDを追加機能を利用して回答するのもありかとは思います。」は使えず、
    メインアカウントは退会して、新たに別のIDを取得するという形になります。
    (一度に複数のメインアカウントを持つことは規約違反になるためです。)

    2つのIDを平行して持つ期間が存在しないため、所有ポイントの移行は出来ません。
    そのため、楽天かアマゾンに交換するという作業が間に入り、
    最低でも2週間(長いと1ヶ月以上)は実質活動停止となります。

    これだけの期間となるとモチベーションを維持するのは難しいかもしれませんし、
    状況も読めなくなって浦島じいさんになってしまう可能性もありそうです。
    (以前、仕事の都合で長期間利用していない時期がありまして、
     ひさびさに利用し始めると、ホントに浦島じいさんでした・・・。)

    二度と戻ってこない気ならポイントは捨て去るという手もありますけどね(苦笑)


    まぁ、何にせよ、単純には行かない話なんですよね・・・。
    地道に協力を仰ぐしかないです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません