标签: httpresponse

使Django返回响应为"不同的文件名"

我有一个Django视图,它返回HttpResponse一个特殊的MIME类型,使用户的浏览器"下载"该文件,而不是在浏览器中查看它.问题是响应将保存为的默认文件名是用户尝试访问的URL.

有没有办法在HttpResponse对象中包含默认文件名,还是必须重定向到不同的URL才能实现?

django filenames http httpresponse

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

将响应标头添加到JAX-RS Webservice

我正在尝试为我的一些webservice调用添加一些响应标头.我使用CXF 2.1.2和JAX-RS编写了我的Web服务.我需要返回一个对象,我还想在Response中添加一些标题. 如果不返回javax.ws.rs.core.Response对象,如何在响应中添加标头并仍然返回我的javabean?

java web-services cxf jax-rs httpresponse

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

未激活帐户的HTTP状态代码是什么?

我应该在对用户进行身份验证之后回复哪个HTTP状态代码,然后发现他们在注册后没有激活他们的帐户?

http httpresponse http-status-codes

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

使用图像内容类型显示来自http响应的图像

假设我有网址但不知道它会返回什么.我对该URL执行ajax调用javascript并获取内容.所以我测试它的内容类型并决定如何在我的网页中显示响应.如果它是json或html或任何其他文本,我会根据需要附加格式化的内容.

现在当内容类型是图像时,我得到图像的响应数据,这不是base64编码的.我当然需要在常规<img>标签中显示图像.这就是我被卡住的地方.

有没有办法从它的内容数据显示图像?

编辑

为了说清楚,听到的是我得到的回应:

"?PNG


IHDR??Nn?tEXtSoftwareAdobe ImageReadyq?e<fiTXtXML:com.adobe.xmp<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmpMM:OriginalDocumentID="xmp.did:8E935AD20E206811822AA1DC23D37A5E" xmpMM:DocumentID="xmp.did:606C15E3DC2311E2A81EB553B5E13CE0" xmpMM:InstanceID="xmp.iid:606C15E2DC2311E2A81EB553B5E13CE0" xmp:CreatorTool="Adobe Photoshop CS5 Macintosh"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:0E49679B0D20681192B0DE3AF6794EF0" stRef:documentID="xmp.did:8E935AD20E206811822AA1DC23D37A5E"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>?,??
3IDATx??R?JGI&m?????I?????K((MC7?nH????%???ef????0???u?? i%????:?`K?{????????u?>???(????(????(????(????(????(????(????(????(????(??((??((??((??((??(???&??b1???V??t???j?T*??e??R??t?????c0?&??|}yy????ns?|Cc?l???7k?????ju:?E?????")Ye?
W?U?Mu+"n?????3
????zzz*c??%????K?g4?&?T???z=_?????G???@??(?R??ng??^??????@?F???2G_??],t?Fb:?????^??????@?  ??n?F#?`????|???<??_!??z???,????p}??U?????I}???
??h?6N??}||$hIY???p^IR???
(k*??D?c???)?????s?*l?e?n-}??o??f:??P?[.???KdP?be
?!9??,?h??!?r????|????>}??o?????W.??#?5?    
?5IY)Zx?'?4?:88??P???????P?Z????czeM?51(()??4????0f?P?03???A?'???Y?5)he?xT??????|??eQ?$?j?jF???~AY?~_??????A??`????dOZ?=??f??%?{?}??Qi6?????+U,?4N??E??(?J9^s?m?e? ?#bQ6?5?D,??G????e???~??(?h3????*V
??
!??-V*???[???,???v?????2????    ?P?8?PeQ??d0?g.eM?I?'?????}?
w?lb?F??|??????G?Y/..^^^dl???nU0????hv????????????)m???????ec??z?yK??????n?9??????=?lT????4?q?'''??E)j??6q??b??:??T?U???F????%??M?? ? ?????,??7?6?6?????[ ??!;???7)x?9)?/?????S?*????????i??GAJ?~????jMh*?j?f?Y??UV?k8??G9r?v?^????O????\W 9}^V?q?`(??b)+?9???IVj??k?????????K?x?-???Z?Pe???h4?L?k?O8[*3??;?`???b???qAFi?(U??\.?C?6_??o(?Ri8???`P??k???P??&?|??#???o=?V??d?p?K???h?I  N?)%fY?I?????LpWq??v"????*??4^G4bsn??J7h?^*?z?????{???V?????(+}#????=?$?(+?z!H?><<???SJD?¯e? ?Q6??xAxuu%rx?]v)?4?Y%?d?rK???z??x??Q?
:;?h??Iu?mZ?h??bC???????? F???g???B?AY??lje?Q]?\?V?y5???3?r??x?_qN????? h?W6t?S?<??{{t??h8?l??:?  ??mE??Q?;Y*{??&?`0?x???????(V   f|??Yˆ???qfH?Z??z??i\?S3?LP6?/?? h??n???????>??NP6??2LaA/VP?q!?2?Q6k?U??oWa?(??PK??+??V???(ky?0_?g??fIe????*;????t??A?W\)?qb????lb???*?ex??y#?ir\?4??bWs?:9?
]?m?????K??=???????_?)??K???O???R6?x??"J???}Q?????)+?^?ymS???????kP??B6??J}???/????+?COo???f?0?1??5OY??{O???????1Q6??P?????c??:?????G?>gd???0e??{??????L?73LY}?wsO??*??t??p?fe?*?\k?d?f*k5?o??a?jUx??F9?6G+e?e?R?n*???0??k??10??v6
?$`Vm?_w?v???pm?Y#0???*?T6J-?j??*U??&???????Z?X)kzU`?vyW">?9??|?)??]????F?;?e?E???*(??????g????%?}???,?,??,?,?&???/???Q???0??0e#?0??T*?lZ-?~!?@R??V5l??j???>Em?)p}}m?????m=??á??????^?g\?e??.b???Y$?U% ?v:?JX{?up^?8???]??@??_??Z??&??t<o{W??T*1?V???+??OOO??Wr????????L-????????~?kh?J?V???R?]??b?r???1?Bu_?p????zq?W2X$?o?}"?HYYS.??o??S(RK?V+??}\a?7?;?)_???A?d??1#Y$vl?{?????!???i????T?e?X?
(??((??((??((??((??((??((??((??((??((??(????(????(????(????(??`/?0a?????IEND?B`?"
Run Code Online (Sandbox Code Playgroud)

html javascript content-type image httpresponse

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

Angular $ http服务 - 强制不解析对JSON的响应

我的服务器中有一个"test.ini"文件,包含以下文本:

"[ALL_OFF]
 [ALL_ON]
"
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过$http服务获取此文件内容,这是我的功能的一部分:

  var params = { url: 'test.ini'};
 $http(params).then(
                 function (APIResponse)
                   {
                     deferred.resolve(APIResponse.data);
                   },
                    function (APIResponse)
                   {
                     deferred.reject(APIResponse);
                   });
Run Code Online (Sandbox Code Playgroud)

此操作有一个Angular异常(SyntaxError:Unexpected token A).
我打开了Angular框架文件,我找到了这个例子:
因为文本文件内容以" [ " 开头并以" ] " 结束,Angular"think"是一个JSON文件.

这是Angular代码(1.2.23版本中的第7474行):

 var defaults = this.defaults = {
    // transform incoming response data
    transformResponse: [function(data) {
      if (isString(data)) {
        // strip json vulnerability protection prefix
        data = data.replace(PROTECTION_PREFIX, '');
        if (JSON_START.test(data) && JSON_END.test(data))
          data = fromJson(data);
      }
      return data;
    }],
Run Code Online (Sandbox Code Playgroud)

我的问题:

如何强制角度 …

parsing json http httpresponse angularjs

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

如何在C#中使用PostAsync设置多个标头?

我有一些工作代码:

using (var client = new HttpClient())
{
HttpResponseMessage response;
response = client.PostAsync(Url, new StringContent(Request, Encoding.UTF8, header)).Result;
}
Run Code Online (Sandbox Code Playgroud)

//以上工作适用于简单的标题,例如"application/json"

如果我想要多个标题,我该怎么办?例如添加"myKey","foo"对和"Accept","image/foo1"

如果我尝试在.Result行之前添加以下内容,则intellisense会抱怨("标题"一词为红色,"无法解析符号'标题'":

client.Headers.Add("myKey", "foo");
client.Headers.Add("Accept", "image/foo1");
Run Code Online (Sandbox Code Playgroud)

c# httpresponse

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

如何以编程方式在ASP.NET应用程序中设置不同于200 OK的Response.StatusCode并仍然成功向客户端提供内容?

设置Response.StatusCode = 404不提供IE8和Chrome下的内容?虽然我发现它很奇怪但它在Mozilla中有效!

做最简单的事情 - 使用空的Default.aspx页面清空asp.net Web应用程序项目.在Page_Load事件中使用以下内容:

protected void Page_Load( object sender, EventArgs e )
{
    Response.StatusCode = 404;
}
Run Code Online (Sandbox Code Playgroud)

这有效地将当前请求的状态代码设置为404,毫无疑问.在IE8或Chrome下渲染时,或者也可能是其他一些浏览器 - 我还没有测试过,实际页面根本没有显示.这些浏览器显示其默认的404错误页面(不是默认的IIS自定义错误).IE8中的示例:

The webpage cannot be found 
 HTTP 404  
   Most likely causes:
•There might be a typing error in the address.
•If you clicked on a link, it may be out of date. ... and so on ...
Run Code Online (Sandbox Code Playgroud)

我真正想要做的是提供404错误页面,其中包含404错误代码,实际上会告诉浏览器或爬虫或者此页面不存在的任何人 - 不仅要显示一些带有状态消息的精美自定义错误消息200 OK .

使用fiddler表明我实际上真的在服务请求,但是浏览器完全无视它?!

我的问题 - 如何设置404状态代码并仍然呈现页面内容?示例 - http://www.intel.com/invalidpage.wow.使用fiddler显示此页面提供404状态代码.

asp.net httpresponse http-status-codes

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

从HttpResponse中提取消息体

好的,我已成功连接到远程服务器并收到HTTP/1.1 200 OK响应,响应被打包到HttpResponse对象中.现在我如何获取响应中的数据,特别是从服务器发送的JSON?

android json httpresponse

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

如何在Spring MVC中代理HTTP请求?

我有一个建立在Spring MVC之上的应用程序.

我想编写处理请求的简单代理,如下所示:

  1. 将相同的HTTP请求发送到某个特定的服务器
  2. 捕获来自此特定服务器的HTTP响应
  3. 向请求客户端返回相同的答案

这是我到目前为止所得到的:

public void proxyRequest(HttpServletRequest request, HttpServletResponse response) {
    try {
        HttpUriRequest proxiedRequest = createHttpUriRequest(request);
        HttpResponse proxiedResponse = httpClient.execute(proxiedRequest);
        writeToResponse(proxiedResponse, response);
    } catch (URISyntaxException e) {
        e.printStackTrace();
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private void writeToResponse(HttpResponse proxiedResponse, HttpServletResponse response){
    for(Header header : proxiedResponse.getAllHeaders()){
        response.addHeader(header.getName(), header.getValue());
    }
    OutputStream os = null;
    InputStream is = null;
    try {
        is = proxiedResponse.getEntity().getContent();
        os = response.getOutputStream();
        IOUtils.copy(is, os);
    } catch (IOException …
Run Code Online (Sandbox Code Playgroud)

spring-mvc httpresponse http-proxy chunked-encoding

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

在过滤器中添加标头作为响应?

我需要在每个响应中添加标头.我打算在下面做

public class MyFilter extends OncePerRequestFilter {

    @Override
    protected void doFilterInternal(HttpServletRequest request,
                                    HttpServletResponse response, FilterChain filterChain)
            throws ServletException, IOException {

        filterChain.doFilter(request, response);
            response.addHeader("Access-Control-Allow-Origin", "*"); 
    }

}
Run Code Online (Sandbox Code Playgroud)

我想这样做之后filterChain.doFilter(request, response),一旦控制器处理它,我只是在返回客户端之前添加标题.这是对的吗 ?

但按照如何编写响应过滤器?

chain.doFilter返回之后,对响应采取任何措施都为时已晚.此时,整个响应已发送到客户端,您的代码无法访问它.

以上陈述对我来说不合适.我不能添加标题后filterChain.doFilter(request, response)?如果不是为什么?

我正在使用spring mvc.

java spring-mvc httpresponse filter servlet-filters

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