0

サイトから IdHTTP XML ドキュメントを取得できません。私はいつも答え 403 / HTTP 1.1 と text/html (text/xml が必要) を持っていました

MSXML をすべて使用して XML ファイルを取得する場合。しかし、プロキシが必要なので、idhtop が必要です。シナプス使用時は変わりません。

msxml を操作します。

CoInitialize(nil);
     GetXML:={$IFDEF VER210}CoXMLHTTP{$ELSE}CoXMLHTTPRequest{$ENDIF}.Create;
     GetXML.open('POST', '***************', false, EmptyParam, EmptyParam);
     GetXML.setRequestHeader('Host', '***************');
     GetXML.setRequestHeader('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13');
     GetXML.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
     GamesBody:='***************';
     GetXML.send(GamesBody);
     Form1.Memo2.Lines.Text:=GetXML.responseText;
     ResultPage:=GetXML.responseText;
     if Pos('error code', ResultPage)=0 then
     begin
    CoUninitialize;

IdHTTP の設定方法 すべての設定が 100 回変更されました またはプロキシ MSXML への接続ですか?

4

1 に答える 1

0

MSXML は、プロキシの設定を持つ MSIE (Windows Internet Epxlorer) を使用します。あなたはそれを得るためにTWebBrowserを試すことができます - それはMSIEの一部でもあり、おそらく私のWindows管理者にもプロキシが設定されています.

synapse または idHTTP を使用すると、プロキシを手動で設定する必要があります。

HTTP 403は、プロキシの正しいログイン/パスワードを指定できなかったことを示しています。または、NTLM 認証が使用されている。HTTP 403 エラーに沿って取得したドキュメントを読んでください - 役立つヒントが含まれている可能性があります。

つまり、全体として:

1) どのプロキシ設定が必要で、どの認証モードがサポートされているか、Windows 管理者に相談してください。

2)retagボタンを押して、指定したバージョンの Delphi に適切なタグを追加します。

3) 編集リンクを押して、管理者から指示されたプロキシ設定を追加し (ログインとパスワードはランダムなテキストに置き換えることができます)、プロキシ経由で接続しようとした idHTTP コードも追加します。

4) 最新の Indy ソースをダウンロードします。Indy 10 は Microsoft NTLM プロキシ モードで問題があると言われ、Indy 9 はおそらく NTLM をまったくサポートしていません。

NTLM プロキシ コードの例: http://bredcompmaniak.blogspot.com/2010/09/ntlm-indy-10.html

于 2012-10-16T06:12:07.423 に答える