
お世話になります。
早速ですが、以下のスクリプトをWinXPHomeSP2+ActivePerl5.6.1の環境で実行しました。訳あって標準モジュールのみ使用しております。
#!/usr/local/bin/perl
use Socket;
use FileHandle;
# デフォルトホストの設定
$host = 'jws.jalan.net';
$port = getservbyname('http', 'tcp');
$path = '/APICommon/OnsenSearch/V1/?key=and10fed2591c0&l_area=430400&xml_ptn=1';
#$path = 'APICommon/OnsenSearch/V1/?key=and10fed2591c0&l_area=430400&onsen_q=4&xml_ptn=1';
$ip = inet_aton($host) || die "host($host) not found.\n";
$sockaddr = pack_sockaddr_in($port, $ip);
socket(SOCKET, PF_INET, SOCK_STREAM, 0);
connect(SOCKET, $sockaddr);
autoflush SOCKET (1);
print SOCKET "GET $path HTTP/1.1\nHost: $host\nConnection: close\n\n";
# HTTP応答を受信
while (<SOCKET>) {
print "$_";
}
# 終了処理
close(SOCKET);
exit;
長くて恐縮です m(__)m
このスクリプトを実行するとUTF8形式のXMLが出力されますが、なぜかその中の”弱アルカリ性低張性泉”という文字だけが文字化けしてしまいます。
ところがIE6やFireFox2などのブラウザで
http://jws.jalan.net/APICommon/OnsenSearch/V1/?k …
に直接アクセスすると、文字化けせずに表示されます。
従ってPerlの実装が悪いのかと思ったのですが、上記スクリプト8行目付近の#$pathのコメントをはずして実行すると(クエリストリングにonsen_q=4が追加され、出力内容が絞り込まれます)、文字化けが発生するレコードが出力されるにも関わらず文字化けしません。
というわけで、問題箇所が切り分けられず、途方にくれております。対処方法などご教授いただければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ B550M Pro4マザーにM.2_SSD取付に関して 2 2023/04/15 02:07
- 英語 This paper focuses on the literature relevant to t 2 2022/12/02 09:41
- その他(プログラミング・Web制作) laravel 本番環境でメールが送れません。 1 2023/02/17 17:57
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- その他(プログラミング・Web制作) pythonにおける単方向リストの実装について 4 2022/07/13 12:34
- Java Java 南京錠 2 2023/02/04 11:46
- Bluetooth・テザリング PRIME Z390-PでWIFI&Bluetooth 2 2022/04/01 19:25
- その他(プログラミング・Web制作) awkのtoupper() 1 2022/10/21 20:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
月刊LinuxWorldのめっちゃ便利...
-
ptkdbを使ってCGIプログラムを...
-
プログラム初心者です。unix上...
-
vbs: オブジェクトがコレクショ...
-
Mac OSX 10.6を使っています。
-
ちょっとした疑問です
-
Perlパス"#!"の意味
-
Windowsでperl/tkに挑戦
-
perl Socketで文字化け
-
吉里吉里で条件分岐が上手くい...
-
Form間での値の受け渡しについて
-
perlで文字の一部を削除したい
-
perl初心者ですが・・・助けて...
-
古い Perl における制約??
-
日付を入力すると曜日が返って...
-
Cannot redeclare/ Xoops legacy
-
インストールについて(初心者...
-
if ($t_image)の意味について教...
-
CPANのメッセージ
-
My関数の有効な使い方。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perlのライセンス
-
vbs: オブジェクトがコレクショ...
-
powershellで関数名を変更する...
-
ADサーバにおけるログインID,PC...
-
Cからシェルを起動し返り値をハ...
-
VBScriptでCurrentDirectoryを...
-
cygwinでcshが認識されず困って...
-
awkの処理速度を改善したい
-
Perlスクリプトで文字化けして...
-
UWSCのスクリプトにラグが発生...
-
Perl Debugger のエラ-
-
perlスクリプト内の変数を別のC...
-
PostgreSQLへPerl Scriptからユ...
-
ディスクの空き容量を求める(W...
-
perl でクッキーの状態を調べる
-
VBSを利用して、IEのタブを自動...
-
rshを使うスクリプトをバックグ...
-
VBSで自動ログインについて
-
perlスクリプトのブラウザURLか...
-
スペースを含むファイルの実行...
おすすめ情報