TIdHTTPでURLに/=/を含むときにGetするには?

解決


Azael  2013-06-14 00:30:58  No: 44680

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/
の内容を取得してしまいます。


Quest  2013-06-14 02:08:29  No: 44681

取り敢えず、URLエンコードでググってみてください。
それでも判らなければ、環境などの情報をお願いします。


Azael  2013-06-14 04:53:22  No: 44682

URLエンコードで検索しても、よくわかりません。
半角の"="や"/"は、普段エンコードされませんよね。
そういう問題ではないのでしょうか。

私の環境は、
Windows XP
Delphi 2009
Indy 10
です。

よろしくお願いします。


take  2013-06-14 17:22:40  No: 44683

ちょっと検索しただけで色々出てきますよ
「* - . @ _」
以外の記号はエンコードされるってなってますね

パラメータとしての nn=vv の部分だけは
エンコードしないようですけどね


KHE00221  2013-06-14 18:50:12  No: 44684

<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/'));


Quest  2013-06-14 22:05:58  No: 44685

Delphi2009をインストールしていないので
WindowsVista、Delphi2007、Indy10 Ver10.1.5と
WindowsXP Pro、Delphi2010、Indy10 Ver10.5.5で試しましたが
URLエンコードは意識せず、KHE00221さんと同じ方法で取得できましたよ。
WindowsとDelphiのバージョンの組み合わせがチグハグですが(^^;


Azael  2013-06-15 01:16:21  No: 44686

みなさんありがとうございます。

http://ht-deko.minim.ne.jp/tech033.html
このサイトを参考にして、Indyをアップグレードしたら解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加