小编Mik*_*zco的帖子

AWS - 真正的规范要求是什么?

我正在尝试直接使用来自亚马逊的S3服务的REST API,我无法理解规范请求是什么.

我的理解是:

  • 您需要一个Authorization标头或查询字符串参数(我将使用标头)
  • 此Authorization标头包含散列HTTP请求(规范请求)
  • 此HTTP请求需要散列有效负载,然后连接到更长的字符串.
  • 此字符串经过多次哈希处理.
  • 结果是Authentication头.

身份验证标头创建行

然后,问题是:

  • 规范请求与实际请求相同?
  • 规范请求字符串只进行一次,然后用于下一个请求?

php rest amazon-s3 amazon-web-services

10
推荐指数
1
解决办法
6079
查看次数

Django - 运行时数据库切换

在我的工作中,我们希望运行具有多个数据库的服务器.当您访问类似http://myapp.webpage.com或的URL时,应该进行数据库切换http://other.webpage.com.我们只想运行一个服务器实例,并在HTTP请求时切换数据库并返回相应的响应.

我们一直在寻找一种可持续的"Django友好"解决方案.在我们的调查中,我们找到了可行的方法,但我们没有足够的信息.

选项1:Django中间件

每当服务器收到HTTP请求时,django中间件就会运行.

  1. 在这里进行数据库切换可能是最好的选择,但据我所知只使用django数据库路由器只允许更改模型或组或模型的数据库.

  2. 另一个选择是在中间件中设置django模型管理器实例,并强制所有模型objects从自定义中间件中的添加属性重新分配属性.

  3. 我的最后一个选择是在中间件接收的请求对象中创建一个新属性,返回database aliasfrom settings.py和在每个模型查询中使用using方法.

选项2:基于类的View Mixin

创建一个使用过去三个选项的mixin,但我必须在所有基于类的视图中设置mixin.如果程序员忘记设置mixin并且它来到生产服务器,那么数据可能(或停止在)正确的数据库中,我不想承担风险.

选项3:在运行时更改数据库设置

此选项有效,但不建议使用,风险太大.

更新:

这是怎么回事?

middlewares.py

import django.conf as conf
import os.path


class SelectDB(object):

    def process_request(self, request):
        print request.META['HTTP_REFERER']
        file_database = open("booklog/database.txt", "r")
        database = file_database.read(10)
        file_database.close()
        if database != 'default':
            conf.settings.DATABASES['default']['NAME'] = database
Run Code Online (Sandbox Code Playgroud)

任何有助于我们解决的信息将不胜感激.

django django-middleware django-models django-managers django-database

9
推荐指数
1
解决办法
3809
查看次数

Django - sessionid cookie - 这是安全故障吗?

为了看到这个可能的错误,您需要打开两个浏览器和一些插件来获取/设置cookie.

如果你在django 1.7中创建一个新项目并访问管理站点(/admin),并在第一个broser中成功登录并获取sessionidcsrftokencookie并将它们设置到第二个浏览器登录页面并设置随机用户和密码,你将获得一个CSRF错误,如果您在浏览器中返回,则表示您已登录.

怎么能避免这个?

python django cookies django-csrf

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

我可以从typeahead.js字段中获取值吗?

我正在使用typeahead.js作为自动完成字段.无论是否在自动完成列表中,我都需要在输入中获取值.

这可能吗?

我该怎么做?

这可能是一个新问题吗?

jquery typeahead.js

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

Pentaho Data Integration(最新版本)-未检测到MySQL驱动程序

我是这个工具的新手,正在尝试创建与数据库的MySQL连接,但是当我按下“测试”按钮时,它会显示以下消息:

Error connecting to database [MySQL (_configuracionesEF)] :org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database

Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
org.gjt.mm.mysql.Driver


org.pentaho.di.core.exception.KettleDatabaseException: 
Error occurred while trying to connect to the database

Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
org.gjt.mm.mysql.Driver


at org.pentaho.di.core.database.Database.normalConnect(Database.java:472)
at org.pentaho.di.core.database.Database.connect(Database.java:370)
at org.pentaho.di.core.database.Database.connect(Database.java:341)
at org.pentaho.di.core.database.Database.connect(Database.java:331)
at org.pentaho.di.core.database.DatabaseFactory.getConnectionTestReport(DatabaseFactory.java:80)
at org.pentaho.di.core.database.DatabaseMeta.testConnection(DatabaseMeta.java:2783)
at org.pentaho.ui.database.event.DataHandler.testDatabaseConnection(DataHandler.java:597)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) …
Run Code Online (Sandbox Code Playgroud)

java mysql pentaho pentaho-data-integration

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

第二次扫描字符不起作用

#include <stdio.h>
#include <string.h>
#include <ctype.h>

void trinanguloNumeros(){
    char caracter = 'y';
    int iTamano;

    while (caracter == 'Y' || caracter == 'y') {
        printf("Realizar triangulo:\n");
        printf("De que tamaño desea su triangulo? [1-20]");
        scanf("%i", &iTamano);

        int i,j;
        for(i=1; i<= iTamano; i++ ){
            for(j=1; j <= i; j++){
                printf("%i", j);
            }
            printf("\n");
        }

        printf("Desea Intentar nuevamente? [y/n]\n");
        scanf("%c", &caracter);
        printf("%c", caracter);

    }
    printf("Termina!!");
}

int main(void){
    trinanguloNumeros();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

scanfvar 的第二个caracter不起作用并打破 while循环.我不知道为什么这会打破循环并且不再设置变量.

c scanf

-2
推荐指数
1
解决办法
123
查看次数