今天,当用户没有权限时,合作者在删除操作上使用了550错误,因为我知道这个错而不是服务器(又名5xx).
在查看说明时,它确切地表明它已被正确使用.而不是401错误,我之前使用的一些'问题'.
401错误的问题是:如果用户A已登录,并尝试执行返回401的操作,则可以建议您必须"登录",因为您没有有效凭据来访问该http资源.这种方法的问题在于,如果用户被记录,服务器知道他没有权限,在这种情况下,看起来像550更合适,但在我看来不应该使用550错误场景.
问题是:在基于Web的应用程序中,550错误的正确用法(如果有)是什么.我理解它在FTP和SMTP中继使用中的用途.如果某些用户登录,则发送不允许的操作请求,应返回哪个错误?
谢谢!
我在访问我的域时得到这个:我看到我的默认,显示了http500错误django模板.
我有gunicorn设置:
command = '/usr/local/bin/gunicorn'
logfile = "/home/ubuntu/virtualenv/myapp/error/gunicorn.log"
loglevel = "info"
pythonpath = '/home/ubuntu/virtualenv/myapp'
bind = '127.0.0.1:8001'
workers = 3
Run Code Online (Sandbox Code Playgroud)
我有nginx配置:
server {
listen 80;
server_name *.myapp.com;
access_log /home/ubuntu/virtualenv/myapp/error/access.log;
error_log /home/ubuntu/virtualenv/myapp/error/error.log warn;
connection_pool_size 2048;
fastcgi_buffer_size 4K;
fastcgi_buffers 64 4k;
root /home/ubuntu/virtualenv/myapp/homelaunch/;
location /static/ {
alias /home/ubuntu/virtualenv/myapp/homelaunch/static/;
#alias /static/;
#root /home/ubuntu/virtualenv/myapp/homelaunch/;
}
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-Forwarded-Host $server_name;
#proxy_set_header X-Real-IP $remote_addr;
add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR …Run Code Online (Sandbox Code Playgroud) 在使用 的 Angular 服务中HttpClient,我创建了一个从 返回原始 HTTP 响应的方法POST:
httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
//observe: 'response'
}),
observe: 'response' as 'body'
};
forgotLogin(requestData: PUMRequestData): Observable<HttpResponse<string>> {
return this.http.post<HttpResponse<string>>("http://...", requestData, this.httpOptions);
Run Code Online (Sandbox Code Playgroud)
然后在我的组件中,我只查看原始 http 响应中的状态和正文。
this.api.forgotLogin(pumRequestData).subscribe(response => {
this.hStatus = response.status;
this.hBody = response.body;
});
Run Code Online (Sandbox Code Playgroud)
问题是如果响应状态不在200系列中,则HttpClient抛出错误。在我的用例中,我只想获取请求状态和正文,而不管状态是什么,我想根据组件中的状态决定要采取的操作,而不是服务中的错误处理程序。我一直试图找出一些棘手的方法来在服务中创建一个错误处理程序,该处理程序只返回(可观察的)HTTP响应,但一直无法做到——甚至不确定这是否是正确的方法。
那么当状态不是 200 系列时,如何将原始 http 响应返回给我的组件?
是否有可能更改 Keycloak 显示不良响应页面的方式(404、500)?也许重定向或更改这些页面的模板? 404简单视图
问题: 我正在尝试使用 google colab python 笔记本读取存储在我的项目的云存储桶之一中的 .gz JSON 文件,但我不断收到此错误:
HttpError: Anonymous caller does not have storage.objects.get access to the Google Cloud Storage object., 401
Run Code Online (Sandbox Code Playgroud)
我的代码:
fs = gcsfs.GCSFileSystem(project='my-project')
with fs.open('bucket/path.json.gz') as f:
gz = gzip.GzipFile(fileobj=f)
file_as_string = gz.read()
json_a = json.loads(file_as_string)
Run Code Online (Sandbox Code Playgroud)
我已经尝试了所有这些身份验证方法,但仍然收到相同的 401 错误:
!gcloud auth login
!gcloud auth list
!gcloud projects list
!gcloud config set project 'myproject-id'
Run Code Online (Sandbox Code Playgroud)
from google.colab import auth
auth.authenticate_user()
Run Code Online (Sandbox Code Playgroud)
!gcloud config set account 'my GCP email'
Run Code Online (Sandbox Code Playgroud)
!gcloud auth activate-service-account
Run Code Online (Sandbox Code Playgroud)
!gcloud auth application-default login
Run Code Online (Sandbox Code Playgroud)
!gsutil config
Run Code Online (Sandbox Code Playgroud)
!gcloud …Run Code Online (Sandbox Code Playgroud) python json http-error google-cloud-storage google-cloud-platform
目前正在制作一个用于发布聊天的基本 DApp,与 Twitter 类似,只是基于智能合约构建。我正在使用安全帽并在本地主机上运行我的应用程序。创建个人资料时,我希望用户能够上传个人资料图片,但是目前每当我尝试这样做时,都会收到以下错误:
POST https://ipfs.infura.io:5001/api/v0/add?stream-channels=true&progress=false 401 (Unauthorized)
Run Code Online (Sandbox Code Playgroud)
伴随着错误消息:
Error uploading file: HTTPError: project id required
at Object.errorHandler [as handleError] (core.js?edc8:103:1)
at async Client.fetch (http.js?8f3e:149:1)
at async addAll (add-all.js?93f2:36:1)
at async last (index.js?7e49:13:1)
at async Object.add (add.js?6672:22:1)
Run Code Online (Sandbox Code Playgroud)
控制台显示该函数发生错误:
const uploadToInfura = async (file) => {
try {
const added = await client.add({ content: file });
const url = `https://ipfs.infura.io/ipfs/${added.path}`;
setFileUrl(url);
} catch (error) {
console.log('Error uploading file: ', error);
}
};
Run Code Online (Sandbox Code Playgroud)
我将在下面附上此页面的完整代码,如果您可以,请告诉我需要修复哪些内容才能停止发生此错误。关于我总体上可以改进的任何其他建议也将不胜感激:)
import { useState, useEffect, useContext, useCallback, useMemo } …Run Code Online (Sandbox Code Playgroud) 我有一个在 IIS7 上运行的 C# ASP.NET Webforms 网站。它是一个报告创建应用程序,用于查询 SQL Server 数据库、获取数据并将其解析为 Excel 文档。
查询本身不会花费太长时间,但当查询非常大(50,000 行)时,写入 Excel 需要一段时间。
现在的问题是,当我运行报告应用程序时,我会在几分钟内收到报告,但是当某些用户运行它时,报告会返回 502 Bad Gateway。这只发生在大型报告中。
我认为这与超时有关?即使我更改哪个超时命令,网关错误也会在两分钟内出现。
我有一个奇怪的问题.我创建了一个使用Retrofit库来调用Web服务的Android应用程序.我已经在很多设备和Android版本上广泛测试了应用程序.在一切工作正常,除了一个:Acer Iconia Tab A500与Android 4.0.3(API级别:15).对于这个,每次调用Web服务时,改装都会返回以下错误:
11-28 16:08:59.700: W/System.err(4436): retrofit.RetrofitError: 307 Temporary Redirect
Run Code Online (Sandbox Code Playgroud)
我确定我的代码是正确的,我无法弄清楚问题出在哪里.有什么建议?
我正在使用带有 WebViewClient 的 Webview 来加载需要身份验证的 URL。我正在使用WebViewClient 的onReceivedHttpAuthRequest方法为每个请求设置身份验证。
@Override
public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) {
handler.proceed("username", "password");
}
Run Code Online (Sandbox Code Playgroud)
这适用于只需要基本身份验证的 URL。
但是,我的应用程序中的某些 URL 需要使用请求中的一些额外标头进行登录访问。所以对于这种请求,基本的认证是不够的,服务器会抛出 401 auth 错误。
因此,对于这种情况,我需要捕获 401 错误并需要将用户导航到登录屏幕。从棉花糖开始,WebViewClient 提供了以下方法来处理此类 HTTP 错误。
@Override
public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) {
super.onReceivedHttpError(view, request, errorResponse);
if(errorResponse.getStatusCode() ==401){
// Code to navigate user to Login Screen.
}
}
Run Code Online (Sandbox Code Playgroud)
但是我没有找到任何可以处理或获取此类 401 错误回调的棉花糖设备。此外,回调方法onReceivedError也不起作用。
任何帮助,将不胜感激。
我知道的:
我们都知道,flask 有一个有用的功能,query.get_or_404我们可以将它调用到任何类对象并返回该对象,或者如果找不到该对象则引发 404 错误。
问题:
我有一个非常大的应用程序并使用该函数进行查询,但是当我将数据发送到前端和其他使用我的 API 的应用程序时,它现在变得有点混乱。当未找到他们查询的对象时,它将返回 404,并且在未找到页面时也会发生相同的行为。
我想要达到的目标:
我想要一个有意义的响应,对于每个未找到的对象都是不同的,对于正常的 404 错误消息是不同的。
例子 :
如果我有这个查询:
user = User.query.get_or_404(id)
如果找不到用户,我想引发 HTTP 错误并返回类似的消息 user not found
到目前为止我尝试过的:
user = User.query.get(id)
if user:
#do something
else
return {'status':'01', 'description': 'user not found'}
# or raise a http error
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是我无法维护我正在处理的应用程序,它需要我在使用 get_or_404 和该代码的任何地方进行更改。
我在想什么:
创建一个类似query.get_or_404但带有另一个状态消息的函数query.get_or_415,例如,并为 415 HTTP 代码添加一个错误处理程序,以便如果找不到对象,它可以返回{'status':'0message:ge : 'object of the class is not found'}
我怎样才能实现它?
我已经在 Flask 中检查过该功能,但找不到它
有人有建议吗?
http-error ×10
android ×2
python ×2
angular ×1
asp.net ×1
c# ×1
django ×1
flask ×1
gunicorn ×1
http ×1
httpclient ×1
iis ×1
ipfs ×1
javascript ×1
json ×1
keycloak ×1
next.js ×1
nginx ×1
retrofit ×1
sqlalchemy ×1
templates ×1
web-services ×1