小编Iva*_*nna的帖子

Bitbucket ssh公钥被拒绝,但他们的ssh测试连接没有问题

一个非常可能相关的信息是我为bitbucket设置了自定义ssh配置.在我的'.ssh/config'文件中,我有以下内容:

[ivanna@comp]$ cat ~/.ssh/config 
Host bitbucket
    Hostname        bitbucket.org
    IdentityFile    /home/ivanna/.ssh/id_rsa_bitbucket
    IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)

就ssh而言,此文件的权限肯定是正确的(我主动使用配置文件中的其他条目).现在,当我在git中添加远程源时,我使用了bitbucket而不是bitbucket.org:

git remote add origin bitbucket:ivanna/my-repo.git
Run Code Online (Sandbox Code Playgroud)

但是当我尝试推送时,我收到以下错误:

Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)

所以好像我没有添加我的公钥或其他什么,对吧?但我绝对做到了.当您搜索更多信息时,您会找到有关错误的页面(https://confluence.atlassian.com/pages/viewpage.action?pageId=302811860).当我按照他们的意思去检查密钥时:

[ivanna@comp]$ ssh -T hg@bitbucket
logged in as ivanna.

You can use git or hg to connect to Bitbucket. Shell access is disabled.
Run Code Online (Sandbox Code Playgroud)

它看起来可以正常登录.那么......为什么不推动工作呢?上面的链接提到它可能是项目本身的权限问题,但我按照人们的建议设置了权限,但没有做任何事情.谁知道发生了什么事?

git ssh bitbucket ssh-keys

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

如何在没有边缘透明的情况下使用css模糊滤镜?

我正在尝试使用css模糊滤镜,同时保持图像的不透明度.在下面的示例中,我有一个只是蓝色方块的图像.当我应用模糊滤镜时,边缘最终变为透明,您可以看到下面的黑色div.如果没有引入透明度,有没有办法应用模糊?理想情况下,我希望它只在平均中包含跨度内的可见像素.我知道在这个例子中它只会产生一个稳定的蓝色方块,但对于不那么简单的情况,它会给出我正在寻找的结果.

div {
  background-color: black;
  width: 100px;
  height: 100px;
}
span {
  overflow: hidden;
  -webkit-filter: blur(30px);
  display: block;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <span>
    <img width="100px" src="https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/000080_Navy_Blue_Square.svg/600px-000080_Navy_Blue_Square.svg.png">
  </span>
</div>
Run Code Online (Sandbox Code Playgroud)

html css css-filters

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

使用Flask的Werkzeug和类状态:当类没有重新初始化时,类成员变量如何重置?

我正在尝试编写一个烧瓶扩展,需要在请求之间保留一些信息.当我使用单个进程运行Werkzeug时这很好用,但是当我运行多个进程时,我得到了一些我不理解的奇怪行为.以这个简单的应用程序为例:

from flask import Flask
app = Flask(__name__)

class Counter(object):
    def __init__(self, app):
        print('initializing a Counter object')
        self.app = app
        self.value = 0

    def increment(self):
        self.value += 1
        print('Just incremented, current value is ', self.value)

counter = Counter(app)

@app.route('/')
def index():
    for i in range(4):
        counter.increment()
    return 'index'

if __name__ == '__main__':
    #scenario 1 - single process
    #app.run()
    #scenario 2 - threaded
    #app.run(threaded=True)
    #scenario 3 - two processes
    app.run(processes=2)
Run Code Online (Sandbox Code Playgroud)

对于前两个场景,它的行为完全符合我的预期:Counter对象初始化一次,然后随着对'/'路径的每个请求递增.当我使用第三个场景运行它(传递进程= 2)然后我得到它作为输出:

 initializing a Counter object
  * Running on http://127.0.0.1:5000/ (Press …
Run Code Online (Sandbox Code Playgroud)

python werkzeug multiple-processes flask

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

使用签名URL上传到Amazon S3可以使用curl但不能在javascript中使用

我正在尝试使用PUT请求将文件上传到Amazon S3.我使用boto生成我签名的网址.如果我做

curl --upload-file test.jpg $SIGNED_URL
Run Code Online (Sandbox Code Playgroud)

然后上传工作正常(所以签名的网址没有问题).我也用curl将引用设置为各种各样的东西,它仍然有效,所以我认为也没有CORS问题.我正在尝试使用javascript上传文件blob,如下所示:

var xmlhttp = new XMLHttpRequest();    
xmlhttp.open("PUT", $SIGNED_URL);
xmlhttp.setRequestHeader('Content-Type', blob.type);
xmlhttp.send(blob);
Run Code Online (Sandbox Code Playgroud)

这总是返回403 Forbidden错误.我发现很难在网上找到任何关于从javascript向S3提供数据的信息.我现在意识到POST表单数据更常见,但是有什么办法可以修改我正在做的工作吗?

编辑:我现在找到了错误的正文:

> <Error><Code>SignatureDoesNotMatch</Code> <Message>The request
> signature we calculated does not match the signature you provided.
> Check your key and signing method.</Message>
Run Code Online (Sandbox Code Playgroud)

所以签名似乎就是问题所在.同样,当我使用卷曲时(即使它在javascript中失败后),同样精确的URL也能正常工作.

javascript curl file-upload amazon-s3 amazon-web-services

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

使用$ ORIGIN指定ELF二进制文件中的解释器不起作用

我正在使用patchelf修改已经编译的二进制文件的rpath和解释器.对patchelf的调用看起来像这样:

patchelf --set-interpreter "\$ORIGIN/lib/ld-linux-x86-64.so.2" --set-rpath "\$ORIGIN/lib" ./grep
Run Code Online (Sandbox Code Playgroud)

通过运行验证正确设置了readelf -l ./grep | grep interpreter这些输出,输出:

[Requesting program interpreter: $ORIGIN/lib/ld-linux-x86-64.so.2]
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行可执行文件时,出现以下错误:

-bash: ./grep: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这似乎表明链接器存在问题.如果我指定一个绝对路径而不是使用$ORIGIN那么它似乎工作正常.

我想知道我在$ORIGIN这里使用的方式是否有些不正确,或者这可能是在系统级别上被禁用的东西?

linux linker elf

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

Cordova应用程序在Android上获得404所有XMLHttpRequests

这是人们常见的问题,但StackOverflow上的所有解决方案似乎都以安装为中心cordova-plugin-whitelist,添加了一些变体

<access origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />
Run Code Online (Sandbox Code Playgroud)

config.xml,并添加类似的东西

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *">
Run Code Online (Sandbox Code Playgroud)

到你的index.html文件.我已经尝试了所有这些东西,但仍然没有运气.真正令人沮丧的是我曾经在一个以前的项目中工作,这些项​​目确实可以作为解决方案,但在新项目中使用相同的配置是行不通的.

我100%确定请求的URL正确响应.即使我点击了Chrome Dev Inspector中404错误的网址,它也会返回正确的内容.当您搜索此问题时,您在反复看到的相同答案中是否有任何可以尝试的内容?

编辑:

在回复第一条评论时,这是javascript代码:

var xhr = new XMLHttpRequest();
xhr.open("POST", "http://example.com/endpoint");
xhr.onload = success_callback;
xhr.onerror = error_callback;
xhr.send(content);
Run Code Online (Sandbox Code Playgroud)

当我在桌面浏览器中加载它时,这个完全相同的代码工作正常,404只发生在cordova应用程序中.代码没有区别,只是我在跑步cordova build browser而不是跑步cordova build android.

javascript android xmlhttprequest cors cordova

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