proxyサーバーを通すインターネット接続をおこなうにな?


もおもお  2005-11-15 23:15:30  No: 92666

はじめまして。もおもおと申します。
テスト環境でプロキシサーバを通さずにxmlhttpを使用して
サーバとのやり取りが成功していました。
が、プロキシを使用するクライアント(不特定多数)を想定して
プロキシを立てULRだけ変えて(ちなみにhttps)送信したら
サーバとやり取りができなくなりました。

そもそもxmlhttpではプロキシサーバ経由で処理ができないのでしょうか?

調べ方が下手なせいか、原因がわからず困っています。
宜しくお願いします。

ちなみにこんな感じです。

Set XMLhttp = CreateObject("Microsoft.xmlhttp")

XMLhttp.Open "POST", "https://AAAA.BBBB.co.jp/UUU/UUU", False
s = "ーーーーー"
XMLhttp.setRequestHeader "Content-Type", "text/xml"
XMLhttp.Send CVar(s)

.Sendで「オートメーションエラーです」となってしまいます。


ヤマ@文系  2005-11-21 10:48:57  No: 92667

xmlHTTP自体がurlmon.dllやwininet.dllに依存しているようです。
(使ったこと無いのでよくわかりませんが)
なので、こんなのはどうなんでしょうか?
=============================

'宣言
        Type INTERNET_PROXY_INFO
                
            dwAccessType As Long
        
            lpszProxy As String
        
            lpszProxyBypass As String
        
        End Type

        private Declare Sub UrlMkSetSessionOption Lib "urlmon.dll" _
        (ByVal dwOption As Long, pBuffer As Any, _
        ByVal dwBufferLength As Long, _
        ByVal dwReserved As Long) 
   
        Const INTERNET_OPEN_TYPE_PRECONFIG = 0
        Const INTERNET_OPEN_TYPE_DIRECT = 1
        Const INTERNET_OPEN_TYPE_PROXY = 3

======================================
'プロシージャとかで
Dim options As INTERNET_PROXY_INFO
                        options.dwAccessType =INTERNET_OPEN_TYPE_PROXY

                   options.lpszProxy = Proxy
                   options.lpszProxyBypass = ""
  UrlMkSetSessionOption internet_option_proxy, options, LenB(options), 0

==============
おしまい。
InternetSetOptionも同様に使えると思います。


ヤマ@文系  2005-11-21 10:50:10  No: 92668

すいません、ProxyはString型の"XXX.XXX.XXX.XXX:8080"
などです。宣言してません。


ヤマ@文系  2005-11-21 10:51:44  No: 92669

Const internet_option_proxy = 38
入れ忘れました。


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

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






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