小编Stu*_*Cat的帖子

使用来自浏览器的现有身份验证会话在python上执行https请求

是否可以使用现有的登录会话(例如在Chrome中)并将该会话通过管道传递给python脚本以执行https请求?

为了清楚说明我要做什么,有一个网站只能在您登录后才能访问其内容,但是由于实际具有验证码,因此无法为简单的http auth卷曲凭据。所以我想做的是,登录一个浏览器,然后将该会话提取到python脚本中,并通过该会话请求url。我说得通吗

import requests

url="http://stackoverflow.com/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36"}
cookie = {
    "domain": ".stackoverflow.com",
    "expirationDate": "1427212131.77312",
    "hostOnly": "false",
    "httpOnly": "true",
    "name": "usr",
    "path": "/",
    "secure": "false",
    "session": "false",
    "storeId": "0",
    "value": "SOMEVALUE",
    "id": "5"
}

t = open("response.txt", "w")


t.write(requests.get(url, headers=headers, cookies=cookie).text.encode("ascii", "ignore"))
Run Code Online (Sandbox Code Playgroud)

因此,我尝试了一下,但似乎并没有解决任何问题。如果我看一下响应,就会发现它实际上是没有任何用户登录的页面。不知道我还想念什么...

python https session

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

如何将 KeyManager 添加到使用 moto 模拟的 kms 密钥

我想创建一个由 AWS 管理的密钥。到目前为止,这就是我所拥有的

@mock_kms
def test_mocking_getting_keys(self):
    session = boto3.Session(profile_name=profile)
    client = session.client('kms', 'us-east-2')
    key = client.create_key(
        Policy='string',
        Description='string',
        KeyUsage='SIGN_VERIFY',
        CustomerMasterKeySpec='RSA_2048',
        Origin='AWS_KMS',
        CustomKeyStoreId='string',
        BypassPolicyLockoutSafetyCheck=True,
        Tags=[
            {
                'TagKey': 'string',
                'TagValue': 'string'
            },
        ]
    )
    print(key)
Run Code Online (Sandbox Code Playgroud)

但密钥似乎没有 KeyManager 字段:

 {'KeyMetadata': {'AWSAccountId': '012345678912', 'KeyId': '7fc3e676-0d1c-4526-9161-41b27a776033', 'Arn': 'arn:aws:kms:us-east-2:012345678912:key/7fc3e676-0d1c-4526-9161-41b27a776033', 'CreationDate': datetime.datetime(2020, 1, 3, 13, 31, 17, tzinfo=tzutc()), 'Enabled': True, 'Description': 'string', 'KeyUsage': 'SIGN_VERIFY', 'KeyState': 'Enabled'}, 'ResponseMetadata': {'HTTPStatusCode': 200, 'HTTPHeaders': {'server': 'amazon.com'}, 'RetryAttempts': 0}}
Run Code Online (Sandbox Code Playgroud)

我尝试在 create_key 调用期间将 KeyManager 添加为参数,但这也不起作用。

似乎 moto 不返回 KeyManager 字段。有没有办法专门模拟该返回值,但不更改其余参数的 dictionary.get 方法的行为?

IE …

python amazon-web-services boto3 moto

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

如何在Flask上使用python的qrcode提供生成的QR图像

我有一个生成QR图像的功能:

import qrcode
def generateRandomQR():
    qr = qrcode.QRCode(version=1,
            error_correction=qrcode.constants.ERROR_CORRECT_L,
            box_size=10,
            border=4,
            )

    qr.add_data("Huehue")
    qr.make(fit=True)
    img = qr.make_image()
    return img
Run Code Online (Sandbox Code Playgroud)

现在的想法是生成图像,然后将其扔在烧瓶上,作为图像,这是我的烧瓶功能:

@app.route("/qrgenerator/image.jpg")
def generateQRImage():
    response = make_response(qrWrapper.generateRandomQR())
    response.headers["Content-Type"] = "image/jpeg"
    response.headers["Content-Disposition"] = "attachment; filename=image.jpg"
    return response
Run Code Online (Sandbox Code Playgroud)

但它似乎并没有正常工作......我遇到了500错误,所以我不太确定我错了什么.

python flask

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

Google图表:是否可以将String用于x轴?

因此,我尝试弄乱我的图表,发现整数/浮点数/日期在x轴上可以很好地工作,但是在您输入字符串时,它会爆炸。

我正在尝试绘制a:字/计数图,但不幸的是,我似乎无法将字符串放在x轴上。Google Charts允许使用此格式吗?还是严格按照int / floats / dates格式输入?

javascript google-visualization

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

在Flask中设置静态文件夹路径

好像我的静态文件没有正确提供.这就是它现在的样子:

myApp
    __init__.py
    static
       img
       js
         bootstrap.min.js
       etc.
Run Code Online (Sandbox Code Playgroud)

这是我的应用程序配置在我的__init__.py外观:

app = Flask(__name__, static_url_path="", static_folder="static")
Run Code Online (Sandbox Code Playgroud)

这是错误:

127.0.0.1 - - [01/Dec/2014 13:12:01] "GET /static/js/bootstrap.min.js HTTP/1.1" 404 -
Run Code Online (Sandbox Code Playgroud)

至于url路由,没有问题,localhost/home路由到home,localhost /联系路由联系等等.但是没有找到静态文件:(我错过了什么?

注意:我在Mac上托管这个,纯粹是本地主机

这是我的__init__.py主要方法:

if __name__ == "__main__":
    app.run(host='0.0.0.0', debug=True)
Run Code Online (Sandbox Code Playgroud)

运行方式:

python __init.py__
Run Code Online (Sandbox Code Playgroud)

python flask

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

将内存从地址复制到缓冲区而不是复制

我正在编写一个内存扫描程序,我希望能够将特定地址的内存内容复制到我创建的内存块结构中的缓冲区中.到目前为止,这是我的代码:

#include <windows.h>
#include <stdio.h>

typedef struct _MEMBLOCK
{
    HANDLE hProc;
    unsigned char *addr;
    int size;
    unsigned char *buffer;

    unsigned char *searchmask;
    int matches;

    struct _MEMBLOCK *next;
} MEMBLOCK;


MEMBLOCK* createMemblock(HANDLE hProc, MEMORY_BASIC_INFORMATION *meminfo)
{
    MEMBLOCK *mb = malloc(sizeof(MEMBLOCK));

    if (mb)
    {
        mb->hProc = hProc;
        mb->addr = meminfo->BaseAddress;
        mb->size = meminfo->RegionSize;
        mb->buffer = malloc(meminfo->RegionSize);
        mb->searchmask = malloc(meminfo->RegionSize / 8);
        memset(mb->searchmask, 0xff, meminfo->RegionSize / 8);
        mb->matches = meminfo->RegionSize;
        mb->next = NULL;
    }

    return mb;
}

void dumpScanInfo(MEMBLOCK *mbList)
{
    MEMBLOCK *mb …
Run Code Online (Sandbox Code Playgroud)

c memory

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

Python Flask 如何使用响应从 mongo 查询的生成器提供服务

假设我的函数“search()”在 mongodb 中获取一些内容并返回生成器。

我的烧瓶视图功能看起来像这样

@app.route("search/")
def search_page():
   generator = search()
   return Response(generator)
Run Code Online (Sandbox Code Playgroud)

但是如果我这样做,我会收到这个错误:

Error on request:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 180, in run_wsgi
    execute(self.server.app)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 171, in execute
    write(data)
  File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 151, in write
    assert type(data) is bytes, 'applications must write bytes'
AssertionError: applications must write bytes
Run Code Online (Sandbox Code Playgroud)

生成器本身会产生几个 json 值。我总是可以使用生成器来构造一个列表并返回该列表,但我想避免这样做。

python flask

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

单击复选框时,滚动条会"跳转"到具有可滚动容器的其他位置

这是我的小提琴:

https://jsfiddle.net/85ef12m9/

我有这门课

.scrollable{
    overflow: auto;
    max-height:400px;
}
Run Code Online (Sandbox Code Playgroud)

而且我说了一个很长的div有很多元素:

<div class=scrollable>
  <div>
     <input type="checkbox" id="test0" />
     <label for="test0">Red</label>
  </div>
  <div>
     <input type="checkbox" id="test1" />
     <label for="test1">Red</label>
  </div>
  ....
Run Code Online (Sandbox Code Playgroud)

当我单击一个元素说test51时,我的滚动条会跳转到元素位置,就好像它不包含在可滚动的div中一样.任何人都知道为什么会这样吗?

html css

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

是什么决定了文件应该是 application/octet-stream 还是 text/plain?

我有一段代码可以为我处理文件上传,理想情况下我只想接受文本文件(csv、制表符分隔文件等),所以我添加了这段代码:

mimetype = magic.from_buffer(request.FILES['docfile'].read(512), mime=True)
if form.is_valid() and mimetype == 'text/plain':
     ....
Run Code Online (Sandbox Code Playgroud)

就在最近,我的一位用户尝试上传一个文本文件,但系统拒绝了它,该文件的 mime 是:

file --mime-type -b input_file.txt 
application/octet-stream
Run Code Online (Sandbox Code Playgroud)

当然,之前上传的所有文件都是文本/纯文本。这两者有什么区别?是否有更“全局”的方法来检查文件是否是文本文件?

python mime

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

如何手动清除/更新 django 中的缓存视图

我的目标是缓存视图,直到发生视图缓存需要过期的事件为止,否则缓存 1 小时。这就是我在 urls.py 中的内容

url(r'^get_some_stuff/$', cache_page(60 * 60, key_prefix='get_some_stuff')(views.StuffView.as_view())),
Run Code Online (Sandbox Code Playgroud)

这很好用。现在我尝试获取缓存的视图以验证其中是否有内容,我尝试了以下操作:

from django.core.cache import cache
cache.get('get_some_stuff')
Run Code Online (Sandbox Code Playgroud)

但这返回 None。我希望做这样的事情:

from django.core.cache import cache
#relevant event happened
cache.delete('get_some_stuff')
Run Code Online (Sandbox Code Playgroud)

处理缓存的正确方法是什么?

我尝试过传递 uri 路径:

cache.get('/api/get_some_stuff/')
Run Code Online (Sandbox Code Playgroud)

我仍然没有得到回报。

>>> cache.has_key('/api/get_some_stuff/')
False
>>> cache.has_key('/api/get_some_stuff')
False
>>> cache.has_key('get_some_stuff')
False
Run Code Online (Sandbox Code Playgroud)

我已经查看了建议的答案,它根本没有解决根本问题。它看起来并不像传递 uri 路由路径作为密钥那么简单,因为密钥在 django 中有些抽象。

django caching

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