标签: http-error

正确使用HTTP错误代码.550 - 为什么它是5xx而不是4xx?

今天,当用户没有权限时,合作者在删除操作上使用了550错误,因为我知道这个错而不是服务器(又名5xx).

在查看说明时,它确切地表明它已被正确使用.而不是401错误,我之前使用的一些'问题'.

401错误的问题是:如果用户A已登录,并尝试执行返回401的操作,则可以建议您必须"登录",因为您没有有效凭据来访问该http资源.这种方法的问题在于,如果用户被记录,服务器知道他没有权限,在这种情况下,看起来像550更合适,但在我看来不应该使用550错误场景.

问题是:在基于Web的应用程序中,550错误的正确用法(如果有)是什么.我理解它在FTP和SMTP中继使用中的用途.如果某些用户登录,则发送不允许的操作请求,应返回哪个错误?

谢谢!

web-applications http-status-codes http-error

7
推荐指数
1
解决办法
6216
查看次数

连接到上游时,Nginx + Gunicorn + Django1.5 - connect()失败(111:连接被拒绝)

我在访问我的域时得到这个:我看到我的默认,显示了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)

django configuration nginx http-error gunicorn

7
推荐指数
1
解决办法
7832
查看次数

Angular HttpClient:即使出现错误,如何获取原始 HTTP 响应

在使用 的 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 响应返回给我的组件?

httpclient http-error angular

7
推荐指数
2
解决办法
5387
查看次数

修改Keycloak主题的错误页面模板

是否有可能更改 Keycloak 显示不良响应页面的方式(404、500)?也许重定向或更改这些页面的模板? 404简单视图

templates response.redirect http-error keycloak

7
推荐指数
1
解决办法
3472
查看次数

如何解决“HttpError:匿名调用者没有 storage.objects.get 访问 Google Cloud Storage 对象的权限。, 401”错误?

问题: 我正在尝试使用 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

7
推荐指数
1
解决办法
2万
查看次数

将文件上传到 IPFS 时出错:HTTPError:需要项目 ID

目前正在制作一个用于发布聊天的基本 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)

javascript http-error ipfs next.js

7
推荐指数
1
解决办法
7969
查看次数

ASP.Net 请求引发 502 Bad Gateway 或 TimeOut

我有一个在 IIS7 上运行的 C# ASP.NET Webforms 网站。它是一个报告创建应用程序,用于查询 SQL Server 数据库、获取数据并将其解析为 Excel 文档。

查询本身不会花费太长时间,但当查询非常大(50,000 行)时,写入 Excel 需要一段时间。

现在的问题是,当我运行报告应用程序时,我会在几分钟内收到报告,但是当某些用户运行它时,报告会返回 502 Bad Gateway。这只发生在大型报告中。

我认为这与超时有关?即使我更改哪个超时命令,网关错误也会在两分钟内出现。

c# asp.net iis http-error

6
推荐指数
2
解决办法
1万
查看次数

Retrofit返回错误307,在android中调用web服务

我有一个奇怪的问题.我创建了一个使用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)

我确定我的代码是正确的,我无法弄清楚问题出在哪里.有什么建议?

android web-services http http-error retrofit

6
推荐指数
1
解决办法
1095
查看次数

无法使用 Webview android 获取 HTTP 401 错误的回调

我正在使用带有 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也不起作用。

任何帮助,将不胜感激。

android http-error android-webview webviewclient

6
推荐指数
0
解决办法
1070
查看次数

烧瓶“get_or_404”类似功能,但有另一个状态码

我知道的:

我们都知道,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 中检查过该功能,但找不到它

有人有建议吗?

python sqlalchemy http-error flask flask-sqlalchemy

6
推荐指数
2
解决办法
1万
查看次数