HTTP要求で文字化けする

投稿者:近藤 投稿日:2024/05/21(Tue) 11:54:03 No.2374

いつもお世話になっております。

HTTP要求にて文字化けする場合があります。詳しい条件はわからない(文字数が多いと発生するような気がします。)のですが、下記のコードを実行すると文字化けする場合と文字化けしない場合があります。
(htmlファイルはこちらで別途サーバーに挙げているファイルになります。文字コードは「UTF-8」で保存しています。)

文字コード関連の不具合のかと思われるのですが、不具合でしょうか?
よろしくお願いいたします。


--------以下プログラム-----

  HTTP要求を作って要求内容とする
  要求内容の文字コードは 「UTF-8」
  要求内容のContentTypeは 「text/html」
  要求内容にて「http://late-obi-9111.lovepop.jp/henshin.html」をHTTPで要求して応答内容とする
  応答内容の文字コードを報告
  応答内容の本文を報告

Re: HTTP要求で文字化けする

投稿者:ゆうと 投稿日:2024/05/26(Sun) 21:42:56 No.2377

こんにちは
文字コードは、取得先のテキストから自動判別しています。
取得するテキストにUTF-8の特徴がない場合などは、文字化けする場合があります。

本来はサーバ側でレスポンスにContent-typeを指定する必要がありますが
このサーバでは文字コードが返していないと思われます。

レスポンスの文字コードがUTF-8であることが明らかな場合は
「応答内容の文字コード」を指定してください。
「要求内容」の設定項目は、リクエストに関する設定ですので、取得結果には影響しないため不要です。

----
HTTP要求を作って要求内容とする
要求内容にて「」をHTTPで要求して応答内容とする
応答内容の文字コードは 「UTF-8」
応答内容の本文を報告
----

引き続き結果が安定しません。

投稿者:近藤 投稿日:2024/05/27(Mon) 13:26:02 No.2378

ご返信いただきありがとうございます。

文字コードを指定することで大きな文字化けはなくなりました。ありがとうございます。

ただ、引き続き結果が毎回変わってしまします。(応答内容の本文の文字数が毎回違う値になってしまいます。そのほかテキストで保存した場合にwindowsのメモ帳で開くと一見同じようですが、文末にスペースが入ってしまっております。)
テキストファイル自体がおかしい可能性もあるかもしれませんので念のためファイルを作成をするところからプログラムを記載いたします。

ちなみにHTTP要求を使わずにhttpで取得すると正常に取得できてます。

----プログラム-----

送信テスト内容は 「」
カウントは 1
8000回繰り返せ
  送信テスト内容は 送信テスト内容&「ああああああ[カウント]」
  カウントは カウント+1
繰り返し終わり


「[送信テスト内容]」を「UTF-8」で「○○\htmltest.html」へ保存


FTPという簡易FTPクライアントを作る
FTPのサーバ名は 「○○」
FTPのユーザ名は 「○○」
FTPのパスワードは 「○○」
FTPを接続させる
FTPで「○○\htmltest.htmlを「○○\henshin.html」へアップロードする
FTPを切断させる

  HTTP要求を作って要求内容とする
  要求内容にて「http://late-obi-9111.lovepop.jp/henshin.html」をHTTPで要求して応答内容とする
  応答内容の文字コードは 「UTF-8」
  応答内容の本文の文字数を報告

Re: 引き続き結果が安定しません。

投稿者:ゆうと 投稿日:2024/05/28(Tue) 18:09:17 No.2379

お返事ありがとうございます。

> 応答内容の本文の文字数が毎回違う値になってしまいます。
普通に考えて、同じことをして、毎回文字数が変わることはありません。
何か勘違いしている箇所があるか、原因が別のところにあると思われます。

ファイル転送にFTPを使っているようですが、FTPツールを使って保存したファイルを転送した場合はどうでしょうか。
また「簡易FTPクライアント」を使わずに「FTPクライアント」を使って試してみてください。
また可能なら別の共有サーバを使うなどして試してみてください。

いづれにしても、今のところプロデルに何か原因があるように思いませんので
お手数ですが原因を特定して頂きますようお願いします。

Re^2: 引き続き結果が安定しません。

投稿者:近藤 投稿日:2024/05/31(Fri) 12:32:29 No.2381

お返事いただき誠にありがとうございます。

再度転送ソフトやサーバーも変えて実行してみましたが、結果は同じでした。
何か原因や勘違いしてないかこちらで検証してみます。

ただ、もう一度確認したいのですが、

> 普通に考えて、同じことをして、毎回文字数が変わることはありません。

とありますが、

HTTP要求を作って要求内容とする
要求内容にて「http://late-obi-9111.lovepop.jp/henshin.html」をHTTPで要求して応答内容とする
応答内容の文字コードは 「UTF-8」
応答内容の本文の文字数を報告

の部分だけを実行した場合も毎回、応答内容の本文の文字数が違う値が出てきますが、これも別の原因なのでしょうか?


> お返事ありがとうございます。
>
> > 応答内容の本文の文字数が毎回違う値になってしまいます。
> 普通に考えて、同じことをして、毎回文字数が変わることはありません。
> 何か勘違いしている箇所があるか、原因が別のところにあると思われます。
>
> ファイル転送にFTPを使っているようですが、FTPツールを使って保存したファイルを転送した場合はどうでしょうか。
> また「簡易FTPクライアント」を使わずに「FTPクライアント」を使って試してみてください。
> また可能なら別の共有サーバを使うなどして試してみてください。
>
> いづれにしても、今のところプロデルに何か原因があるように思いませんので
> お手数ですが原因を特定して頂きますようお願いします。

Re^3: 引き続き結果が安定しません。

投稿者:ゆうと 投稿日:2024/06/01(Sat) 10:24:20 No.2382

こんにちは。お返事ありがとうございます。

> の部分だけを実行した場合も毎回、応答内容の本文の文字数が違う値が出てきますが、これも別の原因なのでしょうか?

再現できました。
調査しましたところ、特定のサーバとファイルサイズの組み合わせの場合に、正常に応答本文を取得できておりませんでした。
最新版 1.9.1247で修正対応していますので、最新版でご確認ください。

文字化けに関しても正常に本文を取得できなかったことが原因だと思われます。
お試しください。

Re^4: 引き続き結果が安定しません。

投稿者:近藤 投稿日:2024/06/04(Tue) 23:17:56 No.2383

お返事いただき誠にありがとうございます。

最新版で正常な動作を確認しました。
ありがとうございます。

> こんにちは。お返事ありがとうございます。
>
> > の部分だけを実行した場合も毎回、応答内容の本文の文字数が違う値が出てきますが、これも別の原因なのでしょうか?
>
> 再現できました。
> 調査しましたところ、特定のサーバとファイルサイズの組み合わせの場合に、正常に応答本文を取得できておりませんでした。
> 最新版 1.9.1247で修正対応していますので、最新版でご確認ください。
>
> 文字化けに関しても正常に本文を取得できなかったことが原因だと思われます。
> お試しください。

▲ページの先頭へ

- WebForum -