TIdHTTPでURLに/=/を含むときにGetするにはどうしたらいいでしょうか?
IdHTTP.Get('http://www.dmm.co.jp/dc/doujin/-/ranking-all/=/term=hourly/', Stream);
このようにすると、
dmm.co.jp/dc/doujin/-/ranking-all/=/term=hourly/
ではなくて
dmm.co.jp/dc/doujin/-/ranking-all/
の内容を取得してしまいます。
取り敢えず、URLエンコードでググってみてください。
それでも判らなければ、環境などの情報をお願いします。
URLエンコードで検索しても、よくわかりません。
半角の"="や"/"は、普段エンコードされませんよね。
そういう問題ではないのでしょうか。
私の環境は、
Windows XP
Delphi 2009
Indy 10
です。
よろしくお願いします。
ちょっと検索しただけで色々出てきますよ
「* - . @ _」
以外の記号はエンコードされるってなってますね
パラメータとしての nn=vv の部分だけは
エンコードしないようですけどね
<title>を見る限り 7 XE2 で取得できるよ?
//24時間総合ランキング1〜20位 - 同人ダウンロード
Memo1.Lines.Add(IdHTTP1.Get('http://www.dmm.co.jp/dc/doujin/-/ranking-all/=/term=hourly/'));
//月間総合ランキング1〜20位 - 同人ダウンロード
Memo1.Lines.Add(IdHTTP1.Get('http://www.dmm.co.jp/dc/doujin/-/ranking-all/'));
Delphi2009をインストールしていないので
WindowsVista、Delphi2007、Indy10 Ver10.1.5と
WindowsXP Pro、Delphi2010、Indy10 Ver10.5.5で試しましたが
URLエンコードは意識せず、KHE00221さんと同じ方法で取得できましたよ。
WindowsとDelphiのバージョンの組み合わせがチグハグですが(^^;
みなさんありがとうございます。
http://ht-deko.minim.ne.jp/tech033.html
このサイトを参考にして、Indyをアップグレードしたら解決しました。
ツイート | ![]() |