标签: response

“requests.exceptions.ConnectionError:('连接中止。',RemoteDisconnected('远程结束关闭连接而无响应',))”

我正在尝试连接到https://apis.digital.gob.cl/fl/feriados/2020requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',)) ,但在与其他 URL 完美配合的脚本上出现错误。

代码:

import requests

response = requests.get('https://apis.digital.gob.cl/fl/feriados/2020')
print(response.status_code)
Run Code Online (Sandbox Code Playgroud)

python api response python-3.x python-requests

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

如何在Zend Framework应用程序中返回XML

我在ZF应用程序中返回XML时遇到问题.我的代码:

class ProjectsController extends Gid_Controller_Action
{
    public function xmlAction ()
    {
        $content = "<?xml version='1.0'><foo>bar</foo>";
        header('Content-Type: text/xml');
        echo $content;
    }
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下方法:

class ProjectsController extends Gid_Controller_Action
{
    public function xmlAction ()
    {
        $content = "<?xml version='1.0'><foo>bar</foo>";
        $this->getResponse()->clearHeaders();
        $this->getResponse()->setheader('Content-Type', 'text/xml');
        $this->getResponse()->setBody($content);
        $this->getResponse()->sendResponse();
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向如何实现这一目标?

xml zend-framework return response

13
推荐指数
2
解决办法
2万
查看次数

Groovy Grails,如何在Controller的响应中传输或缓冲大文件?

我有一个控制器,它连接到一个URL来检索一个csv文件.

我能够使用以下代码在响应中发送文件,这很好.

    def fileURL = "www.mysite.com/input.csv"
    def thisUrl = new URL(fileURL);
    def connection = thisUrl.openConnection();
    def output = connection.content.text;

    response.setHeader "Content-disposition", "attachment;
    filename=${'output.csv'}"
    response.contentType = 'text/csv'
    response.outputStream << output
    response.outputStream.flush()
Run Code Online (Sandbox Code Playgroud)

但是我认为这个方法不适合大文件,因为整个文件被加载到控制器内存中.

我希望能够通过块读取文件块,并通过块将文件写入响应块.

有任何想法吗?

grails response grails-controller

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

使用jQuery没有来自MediaWiki API的响应

我试图从维基百科获取一些内容作为JSON:

$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json", function(data) {
    doSomethingWith(data);
});
Run Code Online (Sandbox Code Playgroud)

但我没有得到任何回应.如果我粘贴到浏览器的地址栏,就像是

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles=jQuery&format=json
Run Code Online (Sandbox Code Playgroud)

我得到了预期的内容.怎么了?

jquery json response cross-domain wikipedia-api

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

在空表中执行缓慢的查询.(删除大量插入后)

我在一个包含15个字段的oracle数据库中有一个表.该表有3500000个插入.我全部删除了它们.

delete
from table
Run Code Online (Sandbox Code Playgroud)

在那之后,每当我执行一个select语句时,
即使表是空的,我也会得到一个非常慢的响应(7秒).只有在我根据索引字段进行搜索的情况下才会得到正常响应.

为什么?

oracle indexing performance response

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

继续使用XMLHttpRequest获取No'Access-Control-Allow-Origin'错误

我会通过使用jQuery $.ajax函数解决这个问题,但在这种情况下jQuery不是选项.相反,我将使用CORS请求.我觉得响应请求的网络服务器出了问题,我很难搞清楚问题所在.

这是我创建CORS请求的代码

var httpRequest = new XMLHttpRequest();
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader( 'Access-Control-Allow-Origin', '*');
httpRequest.setRequestHeader( 'Content-Type', 'application/json' );
httpRequest.onerror = function(XMLHttpRequest, textStatus, errorThrown) {
  console.log( 'The data failed to load :(' );
  console.log(JSON.stringify(XMLHttpRequest));
};
httpRequest.onload = function() {
  console.log('SUCCESS!');
}
Run Code Online (Sandbox Code Playgroud)

这是console.log错误:

XMLHttpRequest无法加载 http://test.testhost.com/testpage.请求标头字段Access-Control-Allow-Origin不允许使用Access-Control-Allow-Origin.

以下是标题信息:

> Remote Address:**.**.***.**:80 Request
> URL:http://test.testdomain.com/testpage Request
> Request Method:OPTIONS
> Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)

请求标题:

OPTIONS /content-network HTTP/1.1
Host: test.testhost.com
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Request-Method: POST
Origin: http://test.testdomain.com
User-Agent: Mozilla/5.0 (Macintosh; Intel …
Run Code Online (Sandbox Code Playgroud)

javascript response xmlhttprequest cors

13
推荐指数
2
解决办法
9万
查看次数

当同时使用gzip和Etag时,无法缓存资源

我正在尝试在浏览器中缓存(javascript)资源并正确设置响应标头中的所有Cache-control:max-age,Expires和Etag(如屏幕截图所示).

浏览器请求"if-none-match"和"if-modified-since",并且在这两种情况下满足条件:

  • if-modified-since = last-modified(文件从未更改过)
  • if-none-match = Etag(再次,文件从未更改过)

所以我应该得到回复304,对吗?但不,我一直得到200 OK,这意味着apache每次都会继续为文件服务(尽管是压缩的).经过Firefox,Chrome,curl测试 - 没用.服务器总是服务整个文件,即使我没有要求它...

使用curl,我已经将问题追溯到gzip和Etag:

  • 如果我删除gzip(并从请求Etag中剪切后缀-gzip) - 一切都很好:304
  • 如果我保留gzip并完全删除请求Etag - 一切都很好:304
  • 但是如果我同时保留'accept-encoding:gzip'和Etag,即使请求和响应Etags都是相同的(这次最后使用'-gzip'),服务器返回错误的200.感觉就像apache比较ez之前的gzipping失败,决定它不匹配,然后提供gzip文件,即使在Etag匹配的gzip之后.

这是请求/响应:

  • 请求方法:GET
  • 状态代码: HTTP/1.1 200 OK

请求标题00:09:12.000

  • User-Agent:Mozilla/5.0(X11; Ubuntu; Linux i686; rv:36.0)Gecko/20100101 Firefox/36.0
  • 如果 - 无匹配:"24e55-51138062ce6c0-gzip"
  • If-Modified-Since:星期六,2015年3月14日04:26:43 GMT
  • 连接:保持活力
  • 缓存控制:max-age = 0
  • Accept-Language:en-US,en; q = 0.5
  • Accept-Encoding:gzip,deflate
  • 接受: /

响应标头Δ1100ms

  • 变化:接受编码
  • 服务器:Apache/2.4.7(Ubuntu)
  • Last-Modified:周六,2015年3月14日04:26:43 GMT
  • Keep-Alive:超时= 5,最大= 100
  • 到期日:2015年3月25日星期三16:09:13 GMT
  • Etag:"24e55-51138062ce6c0-gzip"
  • 日期:2015年3月18日星期三16:09:13 GMT
  • 内容类型:应用程序/ javascript
  • 内容长度:53331
  • 内容编码:gzip
  • 连接:保持活力
  • 缓存控制:max-age = 604800

caching header http response

13
推荐指数
2
解决办法
6441
查看次数

ResponseEntity&lt;Mono&gt; 和 Mono&lt;ResponseEntity&gt; 作为休息控制器的返回类型有什么区别

在 Spring Webflux 中, ResponseEntity<Mono> 与 Mono<ResponseEntity> 作为休息控制器的返回类型有什么区别?

什么时候最合适?

跟进这个问题,假设我需要返回一个列表,或者假设 Foo 的几个元素,有很多返回 Flux 的例子。返回 ResponseEntity<Flux> 或 Flux<ResponseEntity> 是否有意义?

当我在寻找这个问题时,我发现这里发布了同样的问题:https : //github.com/spring-projects/spring-framework/issues/22614,但没有答案,我搜索了 spring 文档,但没有找到任何信息.

谢谢您的帮助。

mono spring response flux spring-webflux

13
推荐指数
2
解决办法
1473
查看次数

这个javascript响应函数有什么作用?

我在另一篇SO帖子中看到了这段代码:使用ASP MVC的jQuery UI Autocomplete

    $("#CustomerID").autocomplete({
        source: function(request, response) {
            $.ajax({
                type: "POST",
                url: "/customer/search",
                dataType: "json",
                data: {
                    term: request.term
                },
                error: function(xhr, textStatus, errorThrown) {
                    alert('Error: ' + xhr.responseText);
                },
                success: function(data) {
                    response($.map(data, function(c) {
                        return {
                            label: c.Company,
                            value: c.ID
                        }
                    }));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            alert('Select');
        }
    });
Run Code Online (Sandbox Code Playgroud)

除了成功功能,我理解一切.我知道map正在采用数组并将每个值映射到具有label和value属性并返回新数组的新对象,但我不确定response()的作用.

javascript jquery response

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

在收到回复之前发出多个请求

我无法理解当多个请求并行发送时(在获得响应之前)HTTP如何工作.有两种情况:

1)有Connection: Keep-Alive.

根据HTTP规范:

支持持久连接的客户端可以"管道化"其请求(即,在不等待每个响应的情况下发送多个请求).服务器必须按照收到请求的顺序发送对这些请求的响应.

这种方式似乎很难实现和维护.服务器必须跟踪请求的顺序,并且必须以正确的顺序响应.不仅可能不容易实现,而且还有性能损失:快速请求必须等到处理慢速请求(如果稍后发出).

此外,如果我们讨论负载均衡器,那么代理必须跟踪哪个请求被发送到哪个服务器,因此当它们返回时它可以将它们放入队列并按顺序响应.那么为什么不首先这样做呢?即,客户端(例如)ID标头听起来更自然,更容易,服务器处理请求并使用相同的ID标头进行响应,以便客户端可以将请求与响应进行匹配.这更容易实现,并且不会引入排队请求的问题(如果有必要,由客户端跟踪请求的顺序).

所以问题是:以指定方式指定流水线的原因是什么?

2)没有Connection: Keep-Alive.

我找不到有关该案件的任何信息.假设客户端发出两个请求A和B.如果没有keep-alive,服务器将在处理请求后关闭连接.这显然引入了竞争条件.那应该怎么做呢?它应该丢弃第二个请求吗?

pipeline http response request

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