小编Mar*_*ham的帖子

WebAPI请求流支持

我正在编写一个ASP.NET Web API应用程序,它要求我接受文件上载并将该文件转发到另一个HTTP端点.

我担心如果许多用户尝试上传每个100MB的文件(这是一个有效的用例),那么我的应用程序将占用大量内存,并且根据大量请求的数量,这个足迹可能会变大,我的应用程序会龙骨过度死亡.

理想情况下,只要Web服务器开始接收文件以显着减少服务器上的负载,我就会开始将文件流式传输到其他HTTP端点.

我确信这个过程有一个名字,但我不知道 - 这使得搜索相当艰难.

我已经在Web API中使用Response Streaming做了很多工作,但我以前从未考虑过请求流.

我能说得最好我需要弄清楚如何:

  • 在完成上传之前开始处理流.
  • 使用HttpClient流式传输相同的请求,以将相同的数据流式传输到其他HTTP端点.

任何人都可以给我一些指示吗?

c# asp.net streaming asp.net-web-api

30
推荐指数
1
解决办法
1万
查看次数

如何在JavaScript中记录获取的网络资源?

有没有办法访问浏览器请求的资源列表(在Chrome浏览器的网络面板中找到的资源)?

网络资源

我希望能够遍历这些获取的资源来显示已访问的域,例如:

for (var i = 0; i < window.navigator.resources.length; i++) {
  var resource = window.navigator.resources[i];
  console.log(resource); //=> e.g. `{domain: "www.google-analytics.com", name: "ga.js"}`
}
Run Code Online (Sandbox Code Playgroud)

或者,也许有一些事件要编写处理程序,例如:

window.navigator.onrequest = function(resource) {
  console.log(resource); //=> e.g. `{domain: "www.google-analytics.com", name: "ga.js"}`
}
Run Code Online (Sandbox Code Playgroud)

它不需要跨浏览器工作,甚至可以使用客户端JavaScript.能够以任何方式访问此信息都可行(可能有一些方法可以使用phantomjs或观察来自shell/node脚本的网络流量).有任何想法吗?

javascript networking google-chrome-extension node.js

11
推荐指数
1
解决办法
1535
查看次数

暂停/恢复http连接下载

我希望能够在Android中打开与给定文件的http连接并开始下载.我还必须能够在某个时刻暂停下载并稍后恢复.这是如何在Android中实现的?我不想再重新开始下载.

android download-manager

7
推荐指数
1
解决办法
8701
查看次数

仅在从Qt连接时返回HTTP 406错误的网页

我在http://mlecturedownload.com/test-qt.php上设置了测试页面,其中包含以下代码:

<?php

$foo = $_GET['foo'];
if ($foo == "0" || $foo == "1") {
  echo $foo;
} else {
  echo "Invalid foo";
}
Run Code Online (Sandbox Code Playgroud)

在Web浏览器中转到此页面并修改foo的值可以正常工作,并且使用curl也可以正常工作.但是当我从Qt发送请求时,我得到一个HTTP 406错误代码,这意味着"不可接受".以下是我提出请求的方式:

void MainWindow::on_send_clicked()
{
    QString url = "http://mlecturedownload.com/test-qt.php?foo=1";

    QNetworkRequest request;
    request.setUrl(QUrl(url));
    nam->get(request); // nam is a QNetworkAccessManager
}
Run Code Online (Sandbox Code Playgroud)

这是从Wireshark获得的整个HTTP请求和响应

GET /test-qt.php?foo=1 HTTP/1.1
Connection: Keep-Alive
Accept-Encoding: gzip, deflate
Accept-Language: en-CA,*
User-Agent: Mozilla/5.0
Host: mlecturedownload.com

HTTP/1.1 406 Not Acceptable
Date: Sat, 19 Jan 2013 17:14:37 GMT
Server: Apache
Content-Length: 275
Keep-Alive: timeout=5, max=75
Connection: Keep-Alive
Content-Type: …
Run Code Online (Sandbox Code Playgroud)

qt mod-security qtnetwork

6
推荐指数
1
解决办法
3870
查看次数

限制S3对象访问来自特定域的请求

我在S3中有视频文件和一个通过src属性加载文件的简单播放器.

我希望只能通过我的网站查看视频,而不是直接通过S3 URL查看(可能在页面的源代码中可以看到,也可以通过右键单击访问)

通过AWS文档查看,似乎我通过HTTP执行此操作的唯一方法是在查询中附加签名和到期日期,但这还不够.其他访问限制是指AWS用户.

我如何解决这个问题或实现这个服务器/客户端?

video amazon-s3 video-streaming amazon-web-services

6
推荐指数
1
解决办法
2451
查看次数

可选[Type [Foo]]在Python 3.5.2中引发TypeError

这段代码:

#!/usr/bin/env python

from typing import Optional, Type

class Foo(object):
    pass

class Bar(Foo):
    pass

def test_me() -> Optional[Type[Foo]]:
    print("Hi there!")
    return Bar

if __name__ == "__main__":
    test_me()
Run Code Online (Sandbox Code Playgroud)

TypeError在3.5.2 加注:

Traceback (most recent call last):
  File "./test.py", line 11, in <module>
    def test_me() -> Optional[Type[Foo]]:
  File "/Users/mnot/.pyenv/versions/3.5.2/lib/python3.5/typing.py", line 649, in __getitem__
return Union[arg, type(None)]
  File "/Users/mnot/.pyenv/versions/3.5.2/lib/python3.5/typing.py", line 552, in __getitem__
dict(self.__dict__), parameters, _root=True)
  File "/Users/mnot/.pyenv/versions/3.5.2/lib/python3.5/typing.py", line 512, in __new__
for t2 in all_params - {t1} if not isinstance(t2, TypeVar)): …
Run Code Online (Sandbox Code Playgroud)

python annotations typing python-3.x python-3.5

6
推荐指数
1
解决办法
1454
查看次数

独立的替代方案到Eclipse的TCP/IP监视器

我喜欢Eclipse的插件TCP/IP Monitor,它显示了请求和响应的完整标题和正文.

我有一个像这样的工具,它会独立运行.有人可以建议我吗?

我试过Charles Web Monitor,但它只针对浏览器而设计.我无法为Java客户端和外部访问的本地服务器配置它.

它应该像代理一样工作.我为每个想要监控的目的地设置了一个端口.它在该端口上接收HTTP请求,并将其未更改地重定向到目标,记录消息数据.

eclipse monitoring eclipse-plugin

3
推荐指数
1
解决办法
5608
查看次数

如何在Apache HTTP Components中设置编码?

如何在Apache HTTP组件中设置字符编码?

我做这样的事情:

    Form form = Form.form();
    form = form.add("somekey", "somevalue");
    Request request = Request.Post("http://somehost/some-form")
                             .request.bodyForm(form.build());
Run Code Online (Sandbox Code Playgroud)

"somekey"和"somevalue"是unicode字符串,因为所有java字符串都是unicode.我测试时,http组件将它们转换为latin-1.我希望它转换为其他东西(例如,utf-8).

java apache-httpcomponents

3
推荐指数
1
解决办法
2958
查看次数

java.lang.IllegalArgumentException:将'\ n \添加到URLConnection属性setRequestProperty时

我有一个问题。当我尝试这样做时

connection.setRequestProperty("Sample", "Sample data \n");
Run Code Online (Sandbox Code Playgroud)

我得到java.lang.IllegalArgumentException:为什么我需要这样做。我的朋友Coz给我挑战,将其添加到服务器。我很困惑。请帮助我是否可以向URLConnection属性添加转义字符。

java urlconnection

1
推荐指数
1
解决办法
617
查看次数