小编Jac*_*nta的帖子

使用套接字创建原始HTTP请求

我希望能够构造一个原始HTTP请求并使用套接字发送它.显然,你希望我使用像urllib和urllib2这样的东西,但我不想使用它.

它必须看起来像这样:

import socket

tcpsoc = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
tcpsoc.bind(('72.14.192.58', 80)) #bind to googles ip
tcpsoc.send('HTTP REQUEST')
response = tcpsoc.recv()
Run Code Online (Sandbox Code Playgroud)

显然,您还需要请求页面/文件以及获取和发布参数

python sockets http

16
推荐指数
3
解决办法
7万
查看次数

来自.从模块导入*

工作目录中有一个脚本,我可以访问:

from . import core.py
Run Code Online (Sandbox Code Playgroud)

我还想从core.py导入*.我怎么用Python写这个?

python

14
推荐指数
3
解决办法
4万
查看次数

Django Celery Task无法以.delay执行

我可以使用执行任务

    scrape_adhoc_reporting([store], [types], inventory)
Run Code Online (Sandbox Code Playgroud)

但是,这是一个问题,因为此任务可能很容易花费一个小时。因此,我尝试使任务异步。我尝试了以下两种方法:

    scrape_adhoc_reporting.apply_async(args=[[store], [types], inventory])
    scrape_adhoc_reporting.delay([store], [types], inventory)
Run Code Online (Sandbox Code Playgroud)

这两种方法均无效。该视图只是按照其应有的方向进行重定向,但是任务从未执行过。错误日志中没有错误。关于我在做什么错的任何见解?

编辑:多看了一眼之后,我看到人们在谈论注册任务。这是我需要做的吗?

django celery

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

备份目录的简单 Cronjob

我知道这看起来很微不足道,但我看不到让它在 cronjob 中工作。

我在跑步

zip -r /backup/$(date +'%Y%m%d').zip /var/www
Run Code Online (Sandbox Code Playgroud)

这工作正常。它在我的备份目录中为我提供了 zip 文件。

但我会打开 Cron 选项卡

crontab -e
Run Code Online (Sandbox Code Playgroud)

我将它附加到文件的底部,以便它每天更新。

这是它不起作用的地方。

我究竟做错了什么?

编辑:crontab 看起来像

0 1 * * * /home/serveradmin/backup.sh
Run Code Online (Sandbox Code Playgroud)

cron zip crontab

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

django-rest-auth facebook NoReverseMatch:未找到带有参数“()”和关键字参数“{}”的“socialaccount_signup”的反向。0 个图案

我正在使用django_rest_auth进行 Facebook 登录。

当我尝试通过 facebook api 登录时,我总是收到此错误

/rest_auth/facebook/

我尝试了这篇文章,没有帮助。

[04/Dec/2016 12:55:42] "POST /rest-auth/facebook/ HTTP/1.1" 500 126046
Internal Server Error: /rest-auth/facebook/
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 149, in get_response
    response = self.process_exception_by_middleware(e, request)
  File "C:\Python27\lib\site-packages\django\core\handlers\base.py", line 147, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Python27\lib\site-packages\django\views\decorators\csrf.py", line 58, in wrapped_view
    return view_func(*args, **kwargs)
  File "C:\Python27\lib\site-packages\django\views\generic\base.py", line 68, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Python27\lib\site-packages\rest_framework\views.py", line 474, in dispatch
    response = self.handle_exception(exc)
  File "C:\Python27\lib\site-packages\rest_framework\views.py", …
Run Code Online (Sandbox Code Playgroud)

django-allauth django-rest-auth

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

将ASCII字符转换为十六进制转义字符串

我正在阅读Python的文件.我打开这个文件并使用'rb'来读取字节.当我把它们读出来时,说:

f.read(1)
Run Code Online (Sandbox Code Playgroud)

它会输出这样的东西

b'\x50'
Run Code Online (Sandbox Code Playgroud)

所以我的问题是,当我尝试这样一个更长的字符串时

f.read(24)
Run Code Online (Sandbox Code Playgroud)

我懂了:

b'R\x00S\x00S\x00Q\x00S\x00O\x00N\x00P\x00S\x00M\x00R\x00P\x00
Run Code Online (Sandbox Code Playgroud)

您注意到十六进制中混合了ASCII字符.我希望R显示为\ x52.

我怎么做?

python struct

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

python结构,不需要的额外字节

我正在使用python编写一个位图文件.我创建位图头的代码是:

pack('bblll', 66, 77, fileLength, 0, 122)
Run Code Online (Sandbox Code Playgroud)

除非我的数学错误,(其中,不是),这应该创建一个14字节长的字节串.

b = char(1字节)l = long(4字节)

1 + 1 + 4 + 4 + 4 = 14

但是,问题是,我收到2个额外的字节; 假设我的文件长度为142,我将收到以下内容(以十六进制表示):

42 4D 00 00 8E 00 00 00 00 00 00 00 7A 00 00 00
Run Code Online (Sandbox Code Playgroud)

2个额外位在偏移量0x2和0x3处为空.他们来自哪里?我如何摆脱他们?它破坏了我的形象.

python struct

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

Django 1.4到Django 1.5直接模板extra_context

所以Django 1.5不再使用direct_to_template调用.

我移植了一些网址,我被这个拦住了.

url(r'^system_settings/$',
    'django.views.generic.simple.direct_to_template',
    {
        'template': 'helpdesk/system_settings.html',
        'extra_context': {
            'ADMIN_URL': getattr(settings, 'ADMIN_URL', '/admin/'),
        },
    },
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用

url(r'^help/context/$',
    TemplateView.as_view(template_name='helpdesk/system_settings.html')...
Run Code Online (Sandbox Code Playgroud)

但我不知道extra_context应该去哪里.任何见解?

django-1.4 django-1.5

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

自定义Python加密算法

嘿,我一直在研究这个问题,我可以记得我哥哥让我通过这个同样的算法.

基本上,它只是添加了键和短语中两个字符的ascii值.

我可以加密它:

def encrypt(key, string):
    encoded = ''
    for i in range(len(string)):
        key_c = ord(key[i % len(key)])
        string_c = ord(string[i % len(string)])
        encoded += chr((key_c + string_c) % 127)
    return encoded
Run Code Online (Sandbox Code Playgroud)

但我似乎无法记住我们在解密方面所做的工作.它很难逆转一个mod:P有什么想法吗?

python encryption

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

提供带字符串或int的函数

我有一个输出原始输入变量的函数(见下文).问题是我不能......

int print(std::string value){
    std::cout << value << std::endl;
return 0;   
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试给出一个int,它会抛出一个错误.我需要一种方法来提供任何变量类型(稍后检查它是什么类型)并相应地采取行动

c++ string int

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

Django:使用CreateView创建两个模型

我有一个用于创建客户的CreateView,但我还需要与该客户一起创建"标识"模型.我有一个识别模型,它具有模型的外键,因为我们需要能够为某些ID添加任何数量的ID(驾驶执照,护照等)

无论如何,当前代码(仅创建新客户)如下所示:

class CustomerCreationView(CreateView):
    template_name = "customers/customer_information.html"
    form_class = CustomerInformationForm

    def get_context_data(self, *args, **kwargs):
        context_data = super(CustomerCreationView, self).get_context_data(*args, **kwargs)

        context_data.update({
            'new_customer': True,
        })

        return context_data
Run Code Online (Sandbox Code Playgroud)

CustomerInformationForm是ModelForm.我想为标识创建另一个ModelForm,但我不知道如何将第二个表单添加到CreateView.我找到了这篇文章,但它已经有5年了,并没有谈到CreateView.

django django-forms

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

为什么{} == {}会返回false?

我正在写剧本,我有类似的东西

var myObject = {};

if (myObject == {}){
    ...
}
Run Code Online (Sandbox Code Playgroud)

我惊讶地发现这被评估为假.

我自己的发现

阅读javascript所做的一些有趣的问题,我发现这篇文章,它告诉我们{}会在if语句中产生一个"truthy"对象,例如

if ({}){ // true
    ...
}
Run Code Online (Sandbox Code Playgroud)

嗯,进一步准备好讨论String Equality,对于对象比较,如果它们引用相同的对象,它将返回true .(甚至{} === {}返回false)

我能想到的唯一原因是返回false是因为对象在技术上处于不同的内存地址,因此被认为是不同的对象.

javascript

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