微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用VBA保存在xmlhttprequest中的授权数据

如何解决使用VBA保存在xmlhttprequest中的授权数据

我正在调用具有VBA基本身份验证的Web服务。我的问题是用户/密码是在第一次成功调用后存储的。这意味着我可以在下一个呼叫中输入错误用户名/密码,并且工作原理相同。

    <?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.DefaultCompany.DynamoDB"
      android:installLocation="preferExternal"
    android:versionCode="1"
    android:versionName="1.0">

  <supports-screens
      android:smallScreens="true"
      android:normalScreens="true"
      android:largeScreens="true"
      android:xlargeScreens="true"
      android:anyDensity="true"/>

  <uses-sdk android:minSdkVersion="9" />


  <uses-permission android:name="android.permission.INTERNET" />
  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  <uses-permission android:name="android.permission.WAKE_LOCK" />


  <permission android:name="com.amazonaws.unity.permission.C2D_MESSAGE"
      android:protectionLevel="signature" />
  <uses-permission android:name="com.amazonaws.unity.permission.C2D_MESSAGE" />


  <application
      android:theme="@android:style/Theme.NoTitleBar"
      android:icon="@drawable/app_icon"
      android:label="@string/app_name"
      android:debuggable="true">

    <activity android:name="com.unity3d.player.UnityPlayerNativeActivity"
              android:label="@string/app_name">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
      </intent-filter>
      <Meta-data android:name="unityplayer.UnityActivity" android:value="true" />
      <Meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="false" />
    </activity>


  </application>

</manifest>

如果我从浏览器中调用Web服务,则是相同的。第一次需要登录,下次无需登录即可工作。删除缓存/ Cookie /历史记录后,我需要再次登录

我的问题:

  • 如果我从VBA调用,此(缓存?)数据存储在哪里?如何删除它?
  • 如何防止VBA保存授权数据?

解决方法

我发现了将用户名/密码放入.Open方法的关键提示:VBA XMLHTTP disable authentication pop-up

这就是我的工作方式。我现在唯一不能做的就是对用户名和密码进行编码。

Dim objRequest As MSXML2.XMLHTTP30
Set objRequest = New MSXML2.XMLHTTP30

With objRequest
    .Open "GET",strUrl,blnAsync,user,passw
    .setRequestHeader "Cache-Control","no-cache"
    .setRequestHeader "Pragma","no-cache"
    .setRequestHeader "If-Modified-Since","Sat,1 Jan 2000 00:00:00 GMT"
    While objRequest.readyState <> 4
        DoEvents
    Wend
    strResponse = .responseText
End With
,

要停止缓存,您可以尝试添加:

.setRequestHeader("Cache-Control","no-cache");
.setRequestHeader("Pragma","no-cache");
.setRequestHeader("If-Modified-Since",1 Jan 2000 00:00:00 GMT");

另请参见VBA XMLHTTP clear authentication?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。