xmlhttp adostream 相关问题,在.net版有100分一齐结

hwbox 2012-03-21 02:31:48
请高手们看清问题,谢谢:

情况背景:
现有A系统中的,有一个图img要提交到B,此图必须登录后,经过一系列人工选择后才能确定是那个图。A系统不透明,不可改,不提供接口。

目前本人解决方案:
做一个页面 a.html 包含一个 iframe,让用户在iframe中登录A系统,点击,选择最终让ifram得到图img的url,此时窗口拥有是已经登录的sessionid。

使用xmlhttp get 这个url 成功后得到图片的二进制数据。

此时问题来了
xmlhttp.responseBody IE 会报错(必须用ie,请不要建议我换浏览器)
xmlhttp.responseStream 没报错,但在后面发送时,表示对象为空或不是对象。

xmlhttp.responseText 报c00ce514错误。

强制

var strValue = new ActiveXObject("ADODB.Stream");
strValue = xmlhttp.responseStream;

没报错,但在后面发送时,表示对象为空或不是对象。

采用如下方法定义
var strValue = xmlhttp.responseStream;

此时再开一个xmlhttp_1 post 到 aaa.axhx

调用方法

xmlhttp_1.send(strValue.read());

表示对象为空或不是对象。

调用方法

xmlhttp_1.sen(strValue);

成功,但上传的内容长度为0

抓包显示

Failed to open POST stream

================================
以上,请问大家有什么解决办法吗?
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hwbox 2012-03-26
  • 打赏
  • 举报
回复
自顶一下,等待中
hwbox 2012-03-22
  • 打赏
  • 举报
回复
我目前可以把这两个程序放到了个域里,不用考虑跨域的问题。A程序是一个混淆过的asp网站,我的是asp.net,而且获取最终数据前要用户操作很多步。所以服务器端代理的方式是不行的。只能用脚本或者说用winform程序也行,但我还是希望用脚本,这样可以放到我的网站中,而不是去开发一个activeX。
hwbox 2012-03-22
  • 打赏
  • 举报
回复
jsonp 注入的方法没用,采用js注入必须要求是文本类型的数据,申请图片时会出错。
iframe 同样有跨域问题,由于A系统可以放html,所以用代理页解决了js脚本,对iframe操作的问题,现在的问题是我在正文中说的,怎么得到img图片的二进制数据。
另一个贴子

第三个贴子
回答有用的,一齐给分
sunjunru 2012-03-22
  • 打赏
  • 举报
回复
可以考虑向 iframe中 载入 js, 类似firefox的油猴,还有greenbrowser的去飞行广告,
并且在主页面中处理 iframe的载入事件,有新页面载入就用js去取数
sunjunru 2012-03-22
  • 打赏
  • 举报
回复
你遇到的是“javaScript跨域访问”问题,所以你照这个方向去,就对了,
迷你IIS服务器 智能端口谢寅修正窗口版 如果你是位站长想调试ASP网站程序,但是机子上没有装IIS那该怎么办啊,现在有了迷你IIS服务器就可以轻松搞定了,我以前用过很好用,大小只不到700K! 支持 JavaScript、VBScript、Perl 等脚本语言 支持 XML 和 Web Service 支持 Active Server Pages 支持 COM 和 .NET 组件 支持 SSL 3.0、TLS 内置 RSA、DES、3DES、SHA、MD5 支持通过 ADO 和 ODBC 访问几乎所有的大型数据库 支持系统硬件设备 RS232、RS485 等 支持基于 Microsoft、CISCO 和其他厂商的群集技术 兼容 Windows Script Components 并提供编译支持 支持 WAP、WML 构建 Web Service 和 Internet 应用程序   迷你IIS服务器 提供一套完整的脚本语言开发环境,提供超轻量脚本引擎和极快的 Web Server,桌面应用对象轻松开发出基于 HTML 界面整合多种媒体的 XML 桌面应用。   迷你IIS服务器 提供 Microsoft IIS 5.0 兼容的 Active Server Pages 模块,不用修改代码直接将已经存在的使用 ASP 开发的应用程序移植到 迷你IIS服务器 平台上来,也可以直接使用已经存在所有 COM 组件。通过修改一部代码,用 迷你IIS服务器 的高性能对象大大的提高运行速度。   区别于 IIS,迷你IIS服务器 在 ASP 中加入对 .NET 对象的直接支持,并且可以编译 ASP 引擎和代码到独立执行文件中。   通过 ADO 和 ODBC,开发的应用可以访问几乎所有的大型数据库和桌面数据库。通过对XML的集成,加强了和外部应用和数据的集成能力,新加入的对 SOAP、UDDI、WSDL,方便构建出下一代 Internet 应用程序。   无论是开发简单的桌面应用,或是复杂的 Internet 应用,还是下一代的 Web Service 应用,你都可以从 迷你IIS服务器 中得到巨大的帮助! 本软件为完全免费的绿色软件,你要知道安装IIS是何等的痛苦,而我们的程序无需安装,下载解压后直接可用。 ASP组件支持情况: ■操作系统自带的组件 支持 MSWC.AdRotator 支持 MSWC.BrowserType 支持 MSWC.NextLink 支持 MSWC.Tools 支持 MSWC.Status 支持 MSWC.Counters 支持 IISSample.ContentRotator 支持 IISSample.PageCounter 支持 MSWC.PermissionChecker 支持 Microsoft.XMLHTTP (Http 组件, 常在采集系统中用到) 支持 WScript.Shell (Shell 组件, 可能涉及安全问题) 支持 Scripting.FileSystemObject (FSO 文件系统管理、文本文件读写) 支持 Adodb.Connection (ADO 数据对象) 版本:2.8 支持 Adodb.Stream (ADO 数据流对象, 常见被用在无组件上传程序中) ■ 常见文件上传和管理组件 支持 SoftArtisans.FileUp (SA-FileUp 文件上传) 支持 SoftArtisans.FileManager (SoftArtisans 文件管理) 支持 Ironsoft.UpLoad (国产免费, 上传组件) 支持 LyfUpload.UploadFile (刘云峰的文件上传组件) 支持 Persits.Upload.1 (ASPUpload 文件上传) 支持 w3.upload (Dimac 文件上传) ■ 常见邮件处理组件 支持 JMail.SmtpMail (Dimac JMail 邮件收发) 中文手册下载 支持 CDONTS.NewMail (CDONTS) 支持 CDO.Message (CDOSYS) 支持 Persits.MailSender (ASPemail 发信) 支持 SMTPsvg.Mailer (ASPmail 发信) 支持 DkQmail.Qmail (dkQmail 发信) 支持 SmtpMail.SmtpMail.1 (SmtpMail 发信) ■ 其它常见组件 支持 SoftArtisans.ImageGen (SA 的图像读写组件) 支持 W3Image.Image (Dimac 的图像读写组件) 支持 Persits.Jpeg (ASPJpeg) 支持 XY.Graphics (国产免费, 图像/图表处理) 支持 Ironsoft.DrawPic (国产免费, 图像/图形处理) 支持 Ironsoft.FlashCapture (国产免费, 多功能 FLASH 截图) 支持 dyy.zipsvr (国产免费, 呆呆文件压缩解压组件) 支持 hin2.com_iis (国产免费, 呆呆IIS管理组件) 支持 Socket.TCP (Dimac 公司的 Socket 组件)

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧