Tag: http headers

从Angular中的服务器下载文本/ csv内容作为文件

我想从一个node.js服务器streamcsv文件。 服务器部分非常简单: server.get('/orders' function(req, res) { res.setHeader('content-type', 'text/csv'); res.setHeader('content-disposition', 'attachment; filename='orders.csv'); return orders.pipe(res); // assuming orders is a csv file readable stream (doesn't have to be a stream, can be a normal response) } 在我的angular度控制器,我试图做这样的事情 $scope.csv = function() { $http({method: 'GET', url: '/orders'}); }; 当我在视图中ng-clickbutton时,调用此函数: <button ng-click="csv()">.csv</button> 我已经看过有关从Angular中的服务器下载文件的其他答案,但没有find任何对我有用的东西。 有没有一个共同的方法来做到这一点? 似乎应该是简单的东西。

不能处理在Ajaxredirect302,为什么?

我有一个使用Forms Authentication在asp.net mvc中编写的后端服务器。 当用户没有通过身份validation时,服务器将自动发送302redirect到login操作并返回login页面。 在客户端,我有一个项目列表。 这个列表只能被authentication的用户访问。 在页面上,我有一个使用Ajax刷新列表的button(jQuery的$ .ajax函数)。 现在,我的问题是身份validation票证超时,用户点击刷新button: 我的函数发送一个ajax请求来获取刷新列表 服务器检测到身份validation票据无效并发出302redirect。 浏览器自动处理这个302响应,并强制我的ajax函数发送另一个ajax请求到Login动作,最后的结果是一个状态为200的HTML。我的脚本很混乱,因为这个列表也是一个状态为200的HTML。 我想要的是,当身份validation票证超时,用户点击刷新button,我应该能够检测到,并显示一条消息,要求用户login。 我尝试通过在Login操作中添加自定义标题(IS_LOGIN)来解决这个问题,并检查我的ajax响应。 但这不是一个好的解决scheme。 所以我的问题是: 处理这个问题的最好方法是什么? 为什么浏览器不让脚本处理302响应? 并自动强制我们的ajax创build另一个请求。 这是浏览器或jQuery库的问题? 有什么理由呢? (安全,…) 感谢您的回复。

通过Javascript / jQuery的Ajax HEAD请求

我似乎在制作HEAD请求时遇到了一些问题,并保留了数组中数据的完整性。 鉴于此片段: var imageTemp = Array(); $('*') .each(function(index){ if($(this).css('background-image') != 'none'){ imageTemp.push($(this).css('background-image').slice(5, -2)); } }); 我捕捉给定页面上的所有背景图像的URL。 现在,试图通过对Content-Length HEAD请求获取每个图像的大小,我使用这个片段: var imageData = Array(); for(var i = 0; i < imageTemp.length; i++){ ajaxSizeRequest = $.ajax({ type: "HEAD", async: true, url: imageTemp[i], success: function(message){ imageData.push([imageTemp[i], ajaxSizeRequest.getResponseHeader('Content-Length')]); } }); } 但是,当我通过console.log dump imageData时,每个元素(应该是一个包含URL和内容长度的数组)结束为[undefined, XXXX] ,其中XXXX总是最后请求的Content-Length的大小 我很困惑,虽然这似乎是一个时间/范围问题。 我在这里遇到种族情况吗?

如何从Java的HTTP头中检索IP地址

我很好奇,如果有任何图书馆已经处理了这种东西,或者我必须再次自己做。 所以,我想从我的服务器上的访问者HTTP头请求中获取IP地址字段,并在Java中完成整个事情? 任何帮助将是很好的。 提前致谢。

内容长度头与HEAD请求?

http规范说明了HEAD请求: HEAD方法与GET相同,只是服务器不能在响应中返回消息体。 响应HEAD请求的HTTP头中包含的元信息应该与响应GET请求发送的信息相同。 应该对HEAD请求的响应是否包含一个Content-Length头部? 是否应该是GET请求返回的值,即使没有响应主体? 还是应该内容长度为0?

内容范围和范围标题之间的区别?

HTTP头Content-Range和Range有什么区别? 什么时候应该使用? 我正在试图从一个特定的字节偏移stream式传输audio文件。 我应该使用Content-Range还是Range头? 谢谢

parsing原始HTTP头

我有一个原始的HTTPstring,我想代表对象中的字段。 有什么办法来parsingHTTPstring中的单个头? 'GET /search?sourceid=chrome&ie=UTF-8&q=ergterst HTTP/1.1\r\nHost: www.google.com\r\nConnection: keep-alive\r\nAccept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\nUser-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_6; en-US) AppleWebKit/534.13 (KHTML, like Gecko) Chrome/9.0.597.45 Safari/534.13\r\nAccept-Encoding: gzip,deflate,sdch\r\nAvail-Dictionary: GeNLY2f-\r\nAccept-Language: en-US,en;q=0.8\r\n […]'

Chrome不会cachingimages / js / css

Chrome浏览器加载我的网站时,会在显示文件之前检查服务器的更新版本。 (图像/ Javascript / CSS)它从服务器获取304,因为我从来不编辑外部JavaScript,CSS或图像。 我想要它做的是显示图像,甚至没有检查服务器。 这是标题: Connection:keep-alive Date:Tue, 03 Aug 2010 21:39:32 GMT ETag:"2792c73-b1-48cd0909d96ed" Expires:Thu, 02 Sep 2010 21:39:32 GMT Server:Apache/Nginx/Varnish 我如何使它不检查服务器?

跨域AJAX不会发送X-Requested-With标头

在http://www.a.com/service.asmx上创build一个Web服务,并从http://www.b.com发送一个跨域的Ajax请求。 检查Firebug中的头文件,或Live HTTP头文件中的头文件,或者您希望的任何其他插件。 请求头中没有跟踪X-Requested-With HTTP Header字段。 但是,如果您从相同的域(例如http://www.a.com/about )向同一个服务发送ajax请求,您将看到该标题字段。 为什么跨域ajax请求省略了X-Requested-With头域? 更新:我知道JSONP调用本质上不是AJAX调用。 因此,在JSONP调用中,您将看不到任何X-Requested-With标头字段。

使用JavaFX的WebEngine / WebView设置cookie

我似乎无法find任何方式在JavaFX中使用WebEngine / WebView以编程方式设置cookie。 API并没有给出任何有关如何获得类似HttpRequest的对象来修改头文件(这是我在应用程序中使用的XML-RPC)或任何types的Cookiepipe理器。 这个页面上没有任何问题似乎涉及到这个问题 – 有这个,但它只是禁用cookies时,在小程序来修复一个错误 ,我的应用程序在桌面上顺便说一句。 唯一的办法,我形象我可以这样做是通过请求第一页(这需要一个会话ID加载正确的cookie),获得“访问被拒绝”式的消息,执行一些JavaScript的页面上下文中设置cookie和然后清爽。 但是这个解决scheme将会是一个糟糕的用户体验。 如何使用WebEngine设置cookie? 更新:从上面链接的问题,我试着挖掘一些使用CookieManager和相关的API的例子。 我发现这个代码 ,然后我试图将其结合到我的应用程序,奇怪的结果; MyCookieStore cookie_store = new MyCookieStore(); CookieManager cookie_manager = new CookieManager(cookie_store, new MyCookiePolicy()); CookieHandler.setDefault(cookie_manager); WebView wv = new WebView(); 现在让我们说,我们这样做: String url = "http://www.google.com/"; wv.getEngine.go(url); 在进行此请求之后,在Eclipse中进行debugging显示cookie存储地图包含一个cookie: {http://www.google.com/=[NID=67=XWOQNK5VeRGEIEovNQhKsQZ5-laDaFXkzHci_uEI_UrFFkq_1d6kC-4Xg7SLSB8ZZVDjTUqJC_ot8vaVfX4ZllJ2SHEYaPnXmbq8NZVotgoQ372eU8NCIa_7X7uGl8GS, PREF=ID=6505d5000db18c8c:FF=0:TM=1358526181:LM=1358526181:S=Nzb5yzBzXiKPLk48]} 太棒了 WebEngine只需使用底层注册的Cookie引擎! 但是等一下,是不是? 让我们尝试添加一个cookie,然后再提出请求… cookie_store.add(new URL(url).toURI(), new HttpCookie("testCookieKey", "testCookieValue")); 然后,我在Wireshark中查看请求… GET / HTTP/1.1 Accept-Language: […]