我是一个开发人员,而不是一个文字匠,因此我被困住了.
我们有一个基于订阅的网站,用户很可能会遇到我们的401页面.
我们已经决定需要替换IIS 401; 2页面.
有没有人有任何关于写一个好的非攻击性401页面的例子或建议?
当我尝试用curl获取它时,我不断从hotfile.com页面获得400个错误的请求代码.
问题是for循环中的所有curl get请求都返回400个错误请求,除了最后一个对我来说很奇怪的请求.
这是脚本的链接:http : //pastie.org/627436 我正在使用Sean Hubers卷曲包装器:http://github.com/shuber/curl以及SimpleHMTLDOM:http://simplehtmldom.sourceforge.net/
除非您有一个hotfile帐户,否则人们可能很难尝试,因为该脚本无法在非注册帐户上运行.
提前干杯:)
我有一个页面(通用处理程序),我想在其上返回状态代码500到客户端,以指示出现问题.我是这样做的:
Response.StatusCode = 500;
Response.StatusDescription = "Internal Server Error";
Run Code Online (Sandbox Code Playgroud)
同时,我会发出一条友好的消息,告诉用户出现了问题.但是,我没有看到我的消息,而是获得了这样的默认IIS消息:
服务器错误500 - 内部服务器错误.您正在查找的资源存在问题,无法显示.
如果我进入IIS并删除500的错误页面,我会收到以下消息:
由于发生内部服务器错误,无法显示页面.
它在IIS6中按预期工作,但在IIS7中不能.我该怎么做才能让它在IIS7中运行?
我有一个自定义模型绑定器,它从MEF容器中提取接口的实现.它实现如下:
public class PetViewModelBinder : DefaultModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var petId = bindingContext.ValueProvider.GetValue("id");
var container = controllerContext.HttpContext.Application[MvcApplication.PLUGINS] as CompositionContainer;
Lazy<IPet, IPetMetadata> pet = null;
try
{
pet = container.GetExport(typeof(IPet), petId);
var petVM = new Models.PetViewModel(pet);
bindingContext.ModelMetadata.Model = petVM;
return base.BindModel(controllerContext, bindingContext);
}
catch (Exception)
{
throw;
}
finally
{
container.ReleaseExport(pet);
}
}
Run Code Online (Sandbox Code Playgroud)
当MEF具有导出petId时,这非常有效...但是当导出不存在时返回http状态500(服务器错误).应返回错误消息混淆要求,指示http状态403(禁止).
可以采取哪些措施来捕获错误,更改响应状态,以及不返回内容,还是重新路由Action以处理此情况?
http-status-codes imodelbinder defaultmodelbinder asp.net-mvc-3
如果期望仅通过AJAX使用,但是在没有正确的ajax头的情况下调用,则应该返回什么HTTP状态?我觉得我应该表示一些错误,但我找不到合适的错误.
我想最好是405方法不允许,但是如果例如ajax GET请求返回内容并且普通GET将返回405则会很奇怪.
我正在尝试在rails中提供自定义404响应,但我不确定如何将:status赋予respond_with函数.
我知道render,我可以这样做:
render :status => :not_found, :json => {:response =>"There weren't any results"}
Run Code Online (Sandbox Code Playgroud)
我怎么能做那样的事情respond_with?有没有办法设置状态代码respond_with?
我使用的唯一原因respond_with是因为,根据我的理解,respond_with当你开始使用时,它是适当的协议respond_to.如果这不正确我应该使用render,请告诉我!
我在PHP中创建REST API.当客户端可能尝试执行不可用的操作时.(例如,它尝试更改不可通过的资源的属性...例如:尝试将"country"属性的值更改为"Julius Caesar")我应该使用响应发回哪些HTTP状态代码?我推测在403和409之间.我不知道403 Forbidden是否只与用户权限相关或我可以用于此目的吗?在什么情况下我应该使用409 Confloct?总结一下非法操作的正确HTTP响应状态是什么?
假设我有一个REST POST终点:www.foo.com/id/Xwhere X代表一个数字.
我的服务器端伪代码如下所示:
performIdLookup(int id) {
if ( idExists(id) ) {
return toJson(lookup(id)) // returns 200/OK Status Code with object as JSON
}
else {
return HTTP_???_error
}
}
Run Code Online (Sandbox Code Playgroud)
根据这个问题,400由于用户提交了有效请求,但是发送错误似乎并不正确,但是服务器无法找到它.
什么是正确的HTTP响应,为什么?
我正在尝试创建一个登录表单。当我用Postman测试服务时,我会得到一个带有状态代码等的body对象。
但是,通过JavaScript提取,我无法获取body对象,而我刚收到一个错误:
export const login = (username,password) => {
return dispatch=>{
const basicAuth = 'Basic ' + btoa(username + ':' + password);
let myHeaders = new Headers();
myHeaders.append('Authorization', basicAuth);
myHeaders.append('Content-Type', 'application/json');
fetch(`${baseUrl}api/user/login`, {
withCredentials: true,
headers: myHeaders
})
.then(function (response) {
return response.json();
})
.then(function (json) {
dispatch(setLoginInfo(json))
})
.catch(err =>{
console.log(err)
dispatch(loginFailed())
});
}
}
Run Code Online (Sandbox Code Playgroud)
我需要获取状态代码。
我有一个PUT创建/替换实体的端点,不需要返回Location标头或任何实体主体。
始终返回204(无内容)是否有意义,或者201如果它是一个新实体并且204替换了该实体,应该返回吗?