使用代理服务器时遇到问题

时间:2014-12-22 22:44:47

标签: javascript node.js proxy server

我多年来一直在使用C#.NET,PHP和Javascript / Jquery开发,但我从来没有处理过代理服务器,因此我可能会尽可能多地进行研究,我认为我是在这里遗漏了一些基本概念。

一位同事创建了一个C#.NET应用程序,该应用程序将HTTP请求发送到返回XML文本字符串的服务器上的第三方应用程序。我试图用JavaScript和XMLHttpRequest对象复制该行为。我被告知我需要使用代理服务器来避免跨域问题。

我在开发PC上运行TinyWeb服务器。我安装了node.js,使用以下代码运行一个非常简单的代理服务器:

var http = require('http'),
httpProxy = require('http-proxy');
httpProxy.createProxyServer({target:'http://192.n.n.n'}).listen(8022);

端口8022只是我选择的号码,它不一定是该端口。如果我将浏览器指向localhost:8022,我会看到远程服务器上托管的页面,我希望看到的页面。

我正在构建一个测试页面test.html。到目前为止,该代码是:

var url="http://www.localhost:8022";
var UserName="username";
var PassWord="12345678";
var objHTTP = null;

if (window.XMLHttpRequest) {
  objHTTP = new XMLHttpRequest();
  if ( typeof objHTTP.overrideMimeType != 'undefined') {
    objHTTP.overrideMimeType('text/xml');
  }
} 

objHTTP.open("POST", url + "/app.xml", false, UserName, PassWord);
objHTTP.setRequestHeader("Content-Type", "text/xml" ) ;
objHTTP.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
objHTTP.send(); 

我现在甚至不想让它做任何事情,我只想向自己证明我可以成功建立联系。但是当我去localhost / test.html时,Firebug告诉我:

NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
objHTTP.send(); 

执行在.send()处停止。显示在其正上方的线上的警报()。紧随其后的行上的警报()。

我已经能够在几个测试环境中使用代理,因此我不确定代理是否是我的问题,但我不知道如何证明这样或那样的。我承认,我需要在整个过程中接受一些教育。

0 个答案:

没有答案