Tag: http

HTTP Accept Header的含义

当浏览器的Accept请求头部如下所示: Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 这是否意味着application/xml , application/xhtml+xml和text/html都具有0.9的质量参数? 或者这意味着application/xml和application/xhtml+xml有默认的( q=1 ),而text/html有q=0.9参数? 我假设前者,但希望有人知道更明确。

如何阻止Web API的黑客/ DOS攻击

我的网站上周一直在遭受拒绝服务/黑客攻击。 这个攻击是在循环中随机生成无效的API密钥来触发我们的Web API。 我不知道他们是否试图猜测一个键(在math上不可能像64位键)或试图DOS攻击服务器。 攻击是分布式的,所以我不能禁止所有的IP地址,因为它发生在数百个客户端。 我的猜测是,这是一个由IP的Android应用程序,所以有人在Android应用程序中有一些恶意软件,并使用所有的安装来攻击我的服务器。 服务器是Tomcat / Java,目前web API只是对无效密钥作出响应400,并caching已经做了几次无效密钥尝试的IP,但仍然需要对每个不良请求进行一些处理。 任何build议如何停止攻击? 有没有什么办法来确定从HTTP头发出请求的Android应用程序?

尽pipeconfigurationNginX 60秒后发出HTTP 499错误。 (PHP和AWS)

在上周结束时,我注意到我的一个AWS实例中的一个问题,如果请求超过60秒,Nginx总是返回一个HTTP 499响应。 被请求的页面是一个PHP脚本 我花了好几天的时间试图find答案,并尝试了一切,我可以在互联网上find包括堆栈溢出几个条目,没有任何工作。 我已经尝试修改PHP设置,PHP-FPM设置和Nginx设置。 你可以在星期五在Nginx论坛上看到一个问题( http://forum.nginx.org/read.php?9,237692 ),虽然没有收到任何回应,所以我希望能够find在我被迫移回Apache之前,我回答了这个问题。 这与其他条目中报告的HTTP 500错误不是同一个问题。 我已经能够使用PHP 5.4.11将新的微型AWS实例NginX复制到这个问题上。 为了帮助任何希望看到问题的人,我将带领您参加最新的Microtesting服务器的设置。 您将需要使用AMI ami-c1aaabb5启动新的AWS Micro实例(所以它是免费的) 这个PasteBin条目有完整的设置来运行镜像我的testing环境。 你只需要在最后的Nginxconfiguration中改变example.com http://pastebin.com/WQX4AqEU 一旦设置完成,您只需创build我正在testing的示例PHP文件即可 <?php sleep(70); die( 'Hello World' ); ?> 保存到webroot然后testing。 如果您使用php或php-cgi从命令行运行脚本,它将起作用。 如果您通过网页访问该脚本并尾部访问日志/var/log/nginx/example.access.log ,您将注意到您在60秒后收到HTTP 1.1 499响应。 现在你可以看到超时了,​​我将通过一些我已经对PHP和NginX进行的configuration更改来尝试解决这个问题。 对于PHP,我将创build几个configuration文件,以便可以轻松禁用它们 更新PHP FPMconfiguration以包含外部configuration文件 sudo echo ' include=/usr/local/php/php-fpm.d/*.conf ' >> /usr/local/php/etc/php-fpm.conf 创build一个新的PHP-FPMconfiguration来覆盖请求超时 sudo echo '[www] request_terminate_timeout = 120s request_slowlog_timeout = 60s slowlog […]

什么设置为电子表格应用程序中打开的csv文件的mimetype

我的应用程序允许用户将他们的数据下载为csv文件。 这些应该在电子表格应用程序中打开。 在Linux系统上,我得到正确的提示,用OpenOffice打开。 但是,我的一些用户抱怨说,当他们下载文件时,它不会自动打开excel,而是要求他们select应用程序。 当他们从其他站点下载csv时,它会在excel中正确打开。 我在设置: mimetype:text / csv content_disposition:附件; filename.csv

在302redirect期间发送浏览器cookie

在302redirect期间发送cookie是否有任何问题? 例如,如果我创build了一个返回到URL的cookie,并在相同的响应中redirect用户,任何(现代)浏览器都会忽略cookie?

当使用response.write和http.request时,nodejs – 第一个参数必须是string或缓冲区

我只是试图创build一个节点服务器,输出给定的URL的HTTP状态。 当我尝试用res.write刷新响应时,出现错误:throw new TypeError('第一个参数必须是string或缓冲区'); 但是,如果我用console.logreplace它们,一切都很好(但我需要将它们写入浏览器而不是控制台)。 代码是 var server = http.createServer(function (req, res) { res.writeHead(200, {"Content-Type": "text/plain"}); request({ uri: 'http://www.google.com', method: 'GET', maxRedirects:3 }, function(error, response, body) { if (!error) { res.write(response.statusCode); } else { //response.end(error); res.write(error); } }); res.end(); }); server.listen(9999); 我相信我应该添加一个callback,但相当困惑,任何帮助表示赞赏。

如何使用httptesttestinghttp调用

我有以下代码: package main import ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" "time" ) type twitterResult struct { Results []struct { Text string `json:"text"` Ids string `json:"id_str"` Name string `json:"from_user_name"` Username string `json:"from_user"` UserId string `json:"from_user_id_str"` } } var ( twitterUrl = "http://search.twitter.com/search.json?q=%23UCL" pauseDuration = 5 * time.Second ) func retrieveTweets(c chan<- *twitterResult) { for { resp, […]

如何防止返回304的请求

浏览器何时不向服务器请求文件? 换句话说,我有一个JavaScript文件正在服务。 它的HTTP响应头有一个ETag , Cache-Control: public和Expires: Tue, 19 Jan 2038 03:14:07 GMT 。 浏览器caching启动后,服务器返回304 。 我的问题是,为什么浏览器甚至检查服务器,并得到一个304位置? 我不希望浏览器询问是否有新版本 – 它应该直接从浏览器caching中加载,而不用检查服务器脚本的修改。 什么组合的HTTP响应头完成这个?

响应被分块时获得整个响应主体?

我正在做一个HTTP请求,并听取“数据”: response.on("data", function (data) { … }) 问题是响应被分块,所以“数据”只是一个被发回的主体。 我怎么把全身送回来?

如何避免HTTP错误429(太多的请求)的Python

我正在尝试使用Pythonlogin到一个网站,并从几个网页收集信息,我得到以下错误: Traceback (most recent call last): File "extract_test.py", line 43, in <module> response=br.open(v) File "/usr/local/lib/python2.7/dist-packages/mechanize/_mechanize.py", line 203, in open return self._mech_open(url, data, timeout=timeout) File "/usr/local/lib/python2.7/dist-packages/mechanize/_mechanize.py", line 255, in _mech_open raise response mechanize._response.httperror_seek_wrapper: HTTP Error 429: Unknown Response Code 我用time.sleep() ,它的工作原理,但它似乎非智能和不可靠的,有没有其他方法来躲避这个错误? 这是我的代码: import mechanize import cookielib import re first=("example.com/page1") second=("example.com/page2") third=("example.com/page3") fourth=("example.com/page4") ## I have seven […]