小编big*_*ose的帖子

在python中发送标题

我有以下python脚本,我想发送"假"标题信息,以便我的应用程序就好像它是firefox.我怎么能这样做?

import urllib, urllib2, cookielib

username = '****'

password = '****' 

login_user = urllib.urlencode({'password' : password, 'username' : username})

jar = cookielib.FileCookieJar("cookies")

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))

response = opener.open("http://www.***.com")

response = opener.open("http://www.***.com/login.php")

response = opener.open("http://www.***.com/welcome.php", login_user)
Run Code Online (Sandbox Code Playgroud)

python post http-headers

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

Python构造函数的子类化过程

我正在尝试创建一个对象作为一个新进程.如果我给类的构造函数,程序显示错误.

import multiprocessing as mp 
import time

class My_class(mp.Process):
    def __init__(self):
            self.name = "Hello "+self.name
            self.num = 20

    def run(self):
        print self.name, "created and waiting for", str(self.num), "seconds"
        time.sleep(self.num)
        print self.name, "exiting"

if __name__ == '__main__':
    print 'main started'
    p1=My_class()
    p2=My_class()
    p1.start()
    p2.start()  
    print 'main exited'
Run Code Online (Sandbox Code Playgroud)

错误

File "/usr/lib64/python2.7/multiprocessing/process.py", line 120, in start
    assert self._popen is None, 'cannot start a process twice'
AttributeError: 'My_class' object has no attribute '_popen'
Run Code Online (Sandbox Code Playgroud)

但是,当插入行super(My_class, self).__init__()super(My_class, self).__init__(),在程序运行的罚款.

最终构造函数:

def __init__(self): …
Run Code Online (Sandbox Code Playgroud)

python initialization class

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

如何在HttpTransportBindingElement上添加cookie

我有一个WCF客户端WCF服务(运行AspNetCompabilityMode)通信,我想在每次调用此Web服务时添加一个cookie(在客户端上).

我查看了HttpTransportBindingElement,但我找不到添加cookie的位置 - 是否可以向HttpTransportBindingElement添加cookie,还是应该考虑另一种方法?

cookies wcf http-headers

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

我可以通过1个IP地址在LAN上将两个单独的Web服务器托管到外部世界吗?

我是一个带有家庭web开发操作的web程序员.我在FIOS连接上有多个Web服务器.我有自己的域通过dyndns.org的自定义域服务指向我的路由器.

我的ISP给了我一个静态IP地址,目前允许我配置我的路由器以通过端口80从一个服务器引导出站Web流量,通过端口8080引导另一个服务器.这很糟糕,因为许多公司阻塞端口8080这些天造成一些我的公司客户无法点击我的第二​​个Web服务器.

有没有办法让我使用两个单独的主机名将常规的旧端口80 Web流量定向到我的网络内部的两个SEPARATE Web服务器?

例如.我想http://webserver1.mydomain.com在我的网络上点击一个Web服务器,然后http://webserver2.mydomain.com点击另一个Web服务器,并在端口80上提供两组流量.

这甚至可能吗?如果没有,我可以通过编程方式将来自一个Web服务器的流量透明地路由到另一个Web服务器吗?

为了记录我运行MS Windows Server 2008 IIS 7.0堆栈,D-link DIR-655路由器,并使用DynDNS满足我的域需求.

iis-7 http http-headers

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

如何使用PHP提供.flv文件?

我正在建立一个流媒体视频网站.这个想法是客户应该支付会员资格,登录系统,并能够查看视频.我将使用FlowPlayer显示实际视频.

现在的问题是,视频需要公开存储在某处,并且.flv文件的URL需要传递给流动播放器以便能够显示它们.这会产生问题,因为任何人都可以通过互联网进行查看源,下载视频和分发视频.

我知道有些人通过执行图像使用php提供图像header(),然后他们可以执行以下操作:

<img src="image.php?userId=1828&img=test.gif" />
Run Code Online (Sandbox Code Playgroud)

php脚本验证用户ID并提供.gif文件,并且从不透露gif的实际url.

无论如何使用.flv或任何其他视频格式吗?例如,文件和用户ID传递到PHP脚本,它验证它们,并返回视频?

php security video streaming http-headers

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

将任意命名的文件导入为Python模块,而不生成字节码文件

Python程序如何从具有任意名称的文件轻松导入Python模块

标准库导入机制似乎没有帮助.一个重要的限制是我不希望出现附带的字节码文件 ; 如果我imp.load_module在一个名为的源文件上使用foo,fooc则会出现一个名为的文件,这是一个混乱和混乱.

Python导入机制期望它最好地知道文件名是什么:模块文件位于特定的文件系统位置,特别是文件名具有特定的后缀(foo.py对于Python源代码等)而没有其他文件系统位置.

这与另一个约定冲突,至少在Unix上:将作为命令执行的文件应该在不引用实现语言的情况下进行命名.例如,执行"foo"的命令应该在名为foono suffix 的程序文件中.

但是,对这样的程序文件进行单元测试需要导入该文件.我需要程序文件中的对象作为Python模块对象,准备在单元测试用例中进行操作,就像import我给出的那样.

导入模块Pythonic方法是什么,特别是从名称不以文件结尾的文件.py,没有出现该导入的字节码文件

python unit-testing

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

GnuPG:如何使用某个密钥加密/解密文件?

长话短说,我的问题是:如何在加密/解密文件时强制GnuPG使用哪个私钥/公钥?


一些解释/长篇故事

我有一个应用程序必须加密文件,然后再将它们发送到S3.

用户可以使用他们的浏览器从我的网站下载他们的文件,在这种情况下,我必须首先解密文件,然后再提供.

客户端(delphi 2010):我很可能会选择OpenPGPBlackbox

服务器端(PHP 5),我需要弄清楚如何使用非交互式命令加密/解密文件.

我在我的服务器上安装了GnuPG,试过这段代码:

clear_file='/full/path/my-file.zip'
encrypted_file='/full/path/my-file.zip.pgp'

# Encrypt file
/usr/bin/gpg2 --encrypt "$clear_file"

# Decrypt file
/usr/bin/gpg2 --decrypt "$encrypted_file"
Run Code Online (Sandbox Code Playgroud)

但似乎我无法在命令行中指定使用哪些密钥.

每个用户都有自己的公钥/私钥,因此我需要能够指定用于加密/解密相关文件的密钥.

我的问题是:如何在加密/解密文件时强制GnuPG使用哪个私钥/公钥?

encryption gnupg

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

如何获取python调用者对象信息?

如何从函数内获取调用者对象,并检查有关该调用者的信息?

\n\n
class A(object):\n    def class_A_fun(self):\n            print \'caller from class\'  # \xe2\x86\x92 B\n            print \'caller from method\'  # \xe2\x86\x92 class_B_fun\n            print \'caller module\'  # \xe2\x86\x92 foomodule\n            print \'caller instance\'  # \xe2\x86\x92 obj\n            print \'caller object file name or path\'  # \xe2\x86\x92 \'foomodule.py\'\n\nclass B(object):\n    def class_B_fun(self):    \n        obj = A()\n        obj.class_A_fun()        \n\nif __name__ == "__main__":\n    obj = B()\n    obj.class_B_fun()\n
Run Code Online (Sandbox Code Playgroud)\n

python introspection

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

派生类__init__中的参数多于基类__init__

如何扩展__init__基类,添加更多要解析的参数,而不需要super().__init__(foo, bar)在每个派生类中?

class Ipsum:
    """ A base ipsum instance. """

    def __init__(self, foo, bar):
        self.foo = flonk(foo)
        grungole(self, bar)
        self._baz = make_the_baz()


class LoremIpsum(Ipsum):
    """ A more refined ipsum that also lorems. """

    def __init__(self, foo, bar, dolor, sit, amet):
        super().__init__(foo, bar)
        farnark(sit, self, amet)
        self.wibble(dolor)
Run Code Online (Sandbox Code Playgroud)

该示例的目的是表明在其中发生了重要的处理Ipsum.__init__,因此不应该在每个子类中重复; 与LoremIpsum.__init__需求foobar参数处理完全相同Ipsum,但也有自己的特殊参数.

它还表明,如果Ipsum需要修改以接受不同的签名,则每个派生类不仅需要更改其签名,还需要更改它如何调用超类__init__.这是不可接受的脆弱.

相反,我想做的事情如下:

class Ipsum:
    """ A base ipsum instance. """ …
Run Code Online (Sandbox Code Playgroud)

python inheritance

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

在子句之后删除的`except`子句中的名称绑定

当该名称用于绑定捕获的异常时,如何阻止Python删除名称绑定?这种行为改变何时进入Python?

我正在编写代码以在Python 2和Python 3上运行:

exc = None
try:
    1/0
    text_template = "All fine!"
except ZeroDivisionError as exc:
    text_template = "Got exception: {exc.__class__.__name__}"

print(text_template.format(exc=exc))
Run Code Online (Sandbox Code Playgroud)

请注意,在异常处理之前exc显式绑定,因此Python知道它是外部作用域中的名称.

在Python 2.7上,这运行正常,exc名称仍然可用于format调用::

Got exception: ZeroDivisionError
Run Code Online (Sandbox Code Playgroud)

太棒了,这正是我想要的:except子句绑定名称,我可以在函数的其余部分使用该名称来引用异常对象.

在Python 3.5上,format调用失败,因为显然删除exc 绑定::

Traceback (most recent call last):
  File "<stdin>", line 8, in <module>
NameError: name 'exc' is not defined
Run Code Online (Sandbox Code Playgroud)

为什么exc从外部范围删除绑定?我们如何在 条款之后可靠地保留名称绑定以使用它except

这个变化何时进入Python,它在哪里记录?

我是否应该将此报告为Python 3中的错误?

python namespaces python-3.x

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