GVKun编程网logo

Express-从远程Web服务返回二进制数据(webexception 远程服务器返回错误)

9

在本文中,我们将详细介绍Express-从远程Web服务返回二进制数据的各个方面,并为您提供关于webexception远程服务器返回错误的相关解答,同时,我们也将为您带来关于.net–我应该从Web

在本文中,我们将详细介绍Express-从远程Web服务返回二进制数据的各个方面,并为您提供关于webexception 远程服务器返回错误的相关解答,同时,我们也将为您带来关于.net – 我应该从Web服务返回强类型数据集吗?、asp.net – “无法启动IIS Express Web服务器”错误、curl模拟向远程Web服务器post数据、express搭建一个web服务器的有用知识。

本文目录一览:

Express-从远程Web服务返回二进制数据(webexception 远程服务器返回错误)

Express-从远程Web服务返回二进制数据(webexception 远程服务器返回错误)

我尝试使用Express返回一些二进制数据。在示例中,它是PDF,但从理论上讲,它可以是任何类型的文件。

但是暂时将重点放在pdf上。我写了这段代码:

app.get(''*'', function (req, res) {    getBinaryData(req.url,        function (answer) {            res.type(''pdf'');            res.end(new Buffer(answer, ''binary''));        },        function (error) {            res.setHeader(''Content-Type'', ''text/plain'');            return res.end(error);        }    );});

基于我在这里看到的内容:https :
//github.com/strongloop/express/issues/1555

但是,我得到的PDF文件具有正确的页数,正确的标题…。但是所有页面都是空白

我肯定会担心getBinaryData()的返回,因为此函数询问了外部Web服务,当我直接询问该服务时,我得到了正确的文档。

预先感谢您的回答

答案1

小编典典

我找到了一个更简单的解决方案:

request(req.url).pipe(res);

这会将来自远程Web服务的原始响应直接传递给我的响应!无论文件类型如何,我都能得到正确的文件。

.net – 我应该从Web服务返回强类型数据集吗?

.net – 我应该从Web服务返回强类型数据集吗?

我应该从Web服务公开强类型数据集并将其直接绑定在客户端吗?或者是否有更合理的方式来提供asmx Web服务?我正在进行CRUD操作(创建,读取,更新,删除).

我发现使用数据集是令人沮丧的,例如在插入其中的表时很难处理.当仅插入一条记录或仅从数据集中的特定表中获取一条记录时,将整个数据集来回传送似乎不合逻辑.

有没有更好的办法?

我是否应该转换为对象并通过Web服务使用对象?在整个地方进行转换以获得传递的对象可能同样乏味?

解决方法

这取决于您的互操作性要求.尽管从几乎任何环境中处理DataSet XML都是完全可能的,但它可能会变得笨拙.如果你没有互操作性,我肯定会推荐使用类型化的数据集路由,因为从C#和“只是工作”使用起来非常简单.

asp.net – “无法启动IIS Express Web服务器”错误

asp.net – “无法启动IIS Express Web服务器”错误

当尝试从Visual Studio中启动IIS Express时,我收到此错误,其项目配置为侦听除localhost之外的地址。 Visual Studio冻结大约30秒,然后发出错误“无法启动IIS Express Web服务器”。

我试过所有的解决方案贴出类似的问题,我想我做的一切正确。这里是我采取的步骤:

>向HTTP.SYS添加以下预留:

netsh http add urlacl url = http://:36899 / user = Everyone
>以管理员身份运行Visual Studio 2012(从技术上讲,我不认为自从我手动设置HTTP.SYS之后我甚至不需要)。
>禁用Windows防火墙。
>在我的“我的文档”文件夹中删除我的IISExpress文件夹,以确保默认设置。
>允许Visual Studio在我的web项目的applicationhost.config中创建条目。然后手动编辑配置文件更改localhost到192.168.0.100这是我的本地IP。然后回到Visual Studio中的项目属性,并将localhost更改为IP并保存项目,以便我的项目现在设置为http://192.168.0.100:36899。

我也尝试更改端口和重复上述步骤,只是因为某些原因使用端口。

我想让我的IIS Express开发者实例可以从我的IP上的Internet上进行远程测试。

解决方法

为我固定的一件事是使用下面的行< bindings>部分为我的网站在applicationhost.config文件:
<bindings>
    <binding protocol="http" bindinginformation="*:8099:" />
</bindings>

关键是简单地删除localhost。请勿将其替换为星号,不要使用IP或计算机名称替换。只要在冒号后留空即可。

这样做后,我不需要以管理员身份运行Visual Studio,我可以随意将项目属性中的项目URL更改为本地IP或计算机名称。然后我设置端口转发,它是可访问的互联网。

编辑:

我发现了一个更多的怪癖,这是重要的让IIS Express正确服务外部请求。

>如果以管理员身份运行Visual Studio / IIS Express,则不能使用“netsh http add urlacl …”命令向HTTP.SYS添加预留。否则将导致HTTP 503服务不可用错误。删除您在URLACL中所做的任何保留,以解决此问题。>如果您没有以管理员身份运行Visual Studio / IIS Express,则必须向URLACL添加预留。

curl模拟向远程Web服务器post数据

curl模拟向远程Web服务器post数据

首先,你的电脑要支持curl,只需找到php.ini配置文件,将";extension=php_curl.dll"前面的分号去掉并重启apache或iis;

test.php文件:

<?php
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://localhost:8088/curl/do.php");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,"username=adam&password=000000&firstname=lee");
$output = curl_exec($ch);
$output = json_decode($output,true);
curl_close($ch);
print_r($output);

?>

do.php:

<?php
$data = json_encode($_POST);
echo $data;

?>

此时我在本机访问http://localhost:8088/curl/test.php时即可看到:

Array ( [username] => adam [password] => 000000 [firstname] => lee )

写于2012年4月20   李汉团

express搭建一个web服务器

express搭建一个web服务器

npm install express -g                           express这个库可以使用了。
npm install express-generator -g           express-generator是一个项目生成器,用来快速构建一个项目,项目中使用需要express。
 
express --version      查看版本号
express firstapp        在命令行当前目录构建firstapp项目
express firstapp -e    以ejs为模板构建firstapp项目
 
在firstapp目录下:
npm install ejs    为firstapp项目安装ejs库
npm install         下载package.json中记录的所有依赖包到node_modules文件夹
npm start            启动服务
 
将html作为模板渲染引擎,在app.js中修改:

 var express = require(''express'');
var path = require(''path'');
var favicon = require(''serve-favicon'');
var logger = require(''morgan'');
var cookieParser = require(''cookie-parser'');
var bodyParser = require(''body-parser'');
var ejs = require(''ejs'');

var index = require(''./routes/index'');
var users = require(''./routes/users'');

var app = express();

// view engine setup
app.engine(''.html'', ejs.__express);
app.set(''views'', path.join(__dirname, ''views''));
app.set(''view engine'', ''html'');

 
转载于猿2048:➻《express搭建一个web服务器》

今天的关于Express-从远程Web服务返回二进制数据webexception 远程服务器返回错误的分享已经结束,谢谢您的关注,如果想了解更多关于.net – 我应该从Web服务返回强类型数据集吗?、asp.net – “无法启动IIS Express Web服务器”错误、curl模拟向远程Web服务器post数据、express搭建一个web服务器的相关知识,请在本站进行查询。

本文标签: