0

当面のタスクは、Web サイトにログインし、MATLAB を使用してレポートをダウンロードすることです。この件に関して役立つものは何も見つかりません。WinHTTPRequest を使用する前に VB でこれを行うコードを書きましたが、それでも MATLAB では役に立ちませんでした。

ポインタ、例、またはガイダンスをいただければ幸いです。

私はすでに VBA のコードを持っていますが、そのコードは非常に複雑なので、VBA を MATLAB に変換するのが最善の方法でした。以前x = actxserver( 'WinHttp.WinHttpRequest.5.1' )は HTTP リクエストを作成していました。x.Option(WinHttpRequestOption_EnableRedirects) = enableRedirectenableRedirect が true である 以外はすべて機能しました。私は運がないので次のことを試しました:

WinHttpRequestOption_EnableRedirects = 6;
set( x, 'Option', WinHttpRequestOption_EnableRedirects, enableRedirect );
x.set('Option',WinHttpRequestOption_EnableRedirects,enableRedirect);
x.set('Option',6,enableRedirect);

Matlab でこのオプションを設定できた人はいますか?

4

3 に答える 3

1

Matlab には関数がurlreadあり、ftpそれらはあなたにとって良い出発点になりそうです。いつものように、ドキュメントを読んでください。

于 2012-07-18T11:49:49.260 に答える
0

次のコードを使用しました。

x = actxserver( 'WinHttp.WinHttpRequest.5.1' );
x.Open(sType, sUrl, false);
if strcmp( sType,'POST');
    x.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
else
    x.SetRequestHeader('Content-Type', 'text/html')
end

x.SetRequestHeader('If-Modified-Since', 'Jan 1 2000 00:00:00 UTC' );
x.SetRequestHeader('Pragma', 'no-cache' );

if ~isempty( sCookie )
    x.SetRequestHeader('Cookie', sCookie);
end
x.SetRequestHeader('Accept-Language', 'en-gb');
x.SetRequestHeader('Connection', 'Keep-Alive');
x.SetRequestHeader('Accept', '*/*');
x.SetRequestHeader('UA-CPU', 'x86');
x.Send (sSoap)
writeStringToFile(sFileNameAndPath, x.responseText, true);
于 2012-08-10T12:42:09.107 に答える
0

より複雑な Java メソッドは、matlab 内で直接使用できます。

例えば。Javaを使用して Web サイトから URL を取得するにはどうすればよいですか?

Matlab では次のようになります。

url = java.net.URL('http://example.com')
connection   = url.openConnection
connection.setRequestMethod('GET')
connection.connect()
stream = connection.getInputStream()

ほぼ同じですね。確かに、Java で認証の方法を見つけることができます。

于 2012-07-18T12:02:11.223 に答える