Tag: http

如何在任何错误上返回HTTP 500代码,无论如何

我正在用PHP编写一个authentication脚本,被称为API,只有在批准请求的情况下才需要返回200,否则就是403(Forbidden)或500。 我遇到的问题是,在错误情况下,PHP返回200,而不是输出错误。 我怎样才能绝对确信PHP将返回一个HTTP 500代码,除非我自己显式地返回HTTP 200或HTTP 403? 换句话说,我想把任何和所有的警告或错误条件都变成500秒,没有例外,所以默认的情况是拒绝authentication请求,例外是用200代码来批准。 我已经摆弄了set_error_handler()和error_reporting(),但到目前为止没有运气。 例如,如果代码在发送HTTP响应代码之前输出了某些内容,那么PHP自然会报告在输出任何东西之后不能修改标题信息。 但是,这是由PHP报告的200响应代码与解释问题的HTML。 我甚至需要把这种东西变成500码。 这是可能的PHP? 或者我需要在更高级别上使用mod_rewrite吗? 如果是这样,任何想法如何设置?

502 HTTP状态码

根据RFC: 10.5.3 502错误的网关 服务器作为网关或代理服务器,在尝试执行请求时从其所访问的上游服务器收到无效响应。 可以无效的答复也意味着根本没有回应(例如连接被拒绝)?

“名称”网页pdf更好的默认保存文件名在Acrobat中?

我的应用程序生成PDF用户消费。 “Content-Disposition”http头部设置如上所述。 这被设置为“inline; filename = foo.pdf”,这应该足以让Acrobat在保存pdf时将“foo.pdf”作为文件名。 但是,在浏览器embedded式Acrobat中单击“保存”button后,保存的默认名称不是该文件名,而是带有斜线的URL更改为下划线。 巨大而丑陋。 有没有办法在Adobe中影响这个默认文件名? 在URL中有一个查询string,这是不可协商的。 这可能很重要,但在URL的末尾添加“&foo = / title.pdf”不会影响默认文件名。 更新2:我已经尝试了两个 content-disposition inline; filename=foo.pdf Content-Type application/pdf; filename=foo.pdf 和 content-disposition inline; filename=foo.pdf Content-Type application/pdf; name=foo.pdf (通过萤火虫validation)可悲的是,既没有工作。 示例url是 /酒吧/会议/ 958d8a22-0 /视图/ 1493881172 /出口?格式=应用程序/ PDF和无附件=真 这转换为一个默认的Acrobat保存为文件名 HTTP ___ localhost_bar_sessions_958d8a22-0_views_1493881172_export_format = application_pdf&没有附着= true.pdf 更新3:Julian Reschke给这个案例带来了真正的洞察力和严谨性。 请提出他的答案。 这似乎是在FF( https://bugzilla.mozilla.org/show_bug.cgi?id=433613 )和IE浏览器,但在Opera,Safari和Chrome工作。 http://greenbytes.de/tech/tc2231/#inlwithasciifilenamepdf

HTTP头是什么If-None-Match:*是什么意思?

以下HTTP 1.1标头是什么意思? If-None-Match:* 我使用强或弱的ETag,甚至是ETag的列表,我都明白这一点,但是我不明白它在使用星号(*)时的用处。 编辑:将很高兴有一些伪代码(PHP代码也不错),将显示如何/如何回答“如果无匹配:*”。

HttpWebRequest超时第二个电话

为什么下面的代码超时运行的第二个(和后续)时间? 代码挂在: using (Stream objStream = request.GetResponse().GetResponseStream()) 然后导致WebException说该请求已超时。 我已经试过这与WebRequest和HttpWebRequest 编辑:看起来代码是在request.GetResponse() 编辑:这个职位表明它可能是一个GC问题 – > http://www.vbforums.com/showthread.php?t=610043 – 根据这个职位,如果提琴手是在后台打开缓解的问题。 服务器在那里,可用于请求。 private string GetQLMResponse(string URL) { HttpWebRequest request = WebRequest.Create(URL) as HttpWebRequest; request.Credentials = new NetworkCredential(Settings.Default.LicenseUser, Settings.Default.LicensePassword); request.KeepAlive = false; request.Timeout = 5000; request.Proxy = null; // Read stream string responseString = String.Empty; try { using (var response = […]

如何在NodeJS中debugging套接字挂断错误?

我收到以下错误: events.js:48 throw arguments[1]; // Unhandled 'error' event ^ Error: socket hang up at createHangUpError (http.js:1091:15) at Socket.onend (http.js:1154:27) at TCP.onread (net.js:363:26) 在节点v0.6.6中,我的代码有多个http.request和.get调用。 请build议如何跟踪什么导致套接字挂起,以及在哪个请求/调用它。 谢谢

HTTP Post请求使用HttpClient需要2秒钟,为什么?

更新:自己find答案,见下面:-) 嗨, 我目前正在编写一个Android应用程序,使用HTTP Post和AsyncTask在后台提交内容。 我为此使用org.apache.http.client包。 我基于这个例子我的代码。 基本上,我的代码如下所示: public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://192.168.1.137:8880/form"); try { List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); […]

推荐的REST GET API的date格式

REST GET API的推荐时间戳格式是什么? http://api.example.com/start_date/{timestamp} 我认为实际的date格式应该是ISO 8601格式,例如UTC时间的YYYY-MM-DDThh:mm:ssZ 。 我们是否应该使用不带连字符和冒号的ISO 8601版本,例如: http://api.example.com/start_date/YYYYMMDDThhmmssZ 还是应该使用base64编码来编码ISO 8601格式?

如何在.Net / C#中将date转换为HTTP格式的date

如何将.Net DateTime转换为有效的HTTP格式的datestring?

如何使用POSTMAN同时发出多个请求

我想从POSTMAN Google Chrome扩展中POST数据。 我想用不同的数据做10个请求,它应该在同一时间。 是否有可能在POSTMAN中这样做? 如果是的话,任何人都可以解释我怎么能做到这一点? 感谢您的时间。