小编Mat*_*att的帖子

Python用标题发送POST

我尝试构建一个python脚本,该脚本发送带有用于提取结果的参数的POST.有了提琴手,我已经提取了回复我想要的帖子请求.该网站仅使用https.

POST /Services/GetFromDataBaseVersionned HTTP/1.1
Host: www.mywbsite.fr
"Connection": "keep-alive",
"Content-Length": 129,
"Origin": "https://www.mywbsite.fr",
"X-Requested-With": "XMLHttpRequest",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5",
"Content-Type": "application/json",
"Accept": "*/*",
"Referer": "https://www.mywbsite.fr/data/mult.aspx",
"Accept-Encoding": "gzip,deflate,sdch",
"Accept-Language": "fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4",
"Accept-Charset": "ISO-8859-1,utf-8;q=0.7,*;q=0.3",
"Cookie": "ASP.NET_SessionId=j1r1b2a2v2w245; GSFV=FirstVisit=; GSRef=https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CHgQFjAA&url=https://www.mywbsite.fr/&ei=FZq_T4abNcak0QWZ0vnWCg&usg=AFQjCNHq90dwj5RiEfr1Pw; HelpRotatorCookie=HelpLayerWasSeen=0; NSC_GSPOUGS!TTM=ffffffff09f4f58455e445a4a423660; GS=Site=frfr; __utma=1.219229010.1337956889.1337956889.1337958824.2; __utmb=1.1.10.1337958824; __utmc=1; __utmz=1.1337956889.1.1.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)"

{"isLeftColumn":false,"lID":-1,"userIpCountryCode":"FR","version":null,"languageCode":"fr","siteCode":"frfr","Quotation":"eu"}
Run Code Online (Sandbox Code Playgroud)

现在我的python脚本:

#!/usr/bin/env python
# -*- coding: iso-8859-1 -*-
import string
import httplib
import urllib2

host = "www.mywbsite.fr/sport/multiplex.aspx"
    params='"isLeftColumn":"false","liveID":"-1","userIpCountryCode":"FR","version":"null","languageCode":"fr","siteCode":"frfr","Quotation":"eu"'

headers = { Host: www.mywbsite.fr,
"Connection": "keep-alive",
"Content-Length": 129,
"Origin": "https://www.mywbsite.fr",
"X-Requested-With": …
Run Code Online (Sandbox Code Playgroud)

python post http request http-headers

61
推荐指数
3
解决办法
12万
查看次数

带有asyncio的多个循环

是否可以使用asyncio进行多个循环?如果回答是肯定的,我该怎么做?我的用例是:*我从异步中的网站列表中提取网址*对于每个"子网址列表",我会在异步/抓取它们

提取网址的示例:

import asyncio
import aiohttp
from suburls import extractsuburls

@asyncio.coroutine
def extracturls(url):
    subtasks = []
    response = yield from aiohttp.request('GET', url)
    suburl_list = yield from response.text()
    for suburl in suburl_list:
        subtasks.append(asyncio.Task(extractsuburls(suburl)))
     loop = asyncio.get_event_loop()
     loop.run_until_complete(asyncio.gather(*subtasks))

 if __name__ == '__main__':
     urls_list = ['http://example1.com', 'http://example2.com']
     for url in url_list: 
          subtasks.append(asyncio.Task(extractsuburls(url)))  
     loop = asyncio.get_event_loop()
     loop.run_until_complete(asyncio.gather(*subtasks))
     loop.close()
Run Code Online (Sandbox Code Playgroud)

如果我执行这段代码,当python尝试启动第二个循环时,我会发现一个错误,就是说循环已经在运行了.

PS:我的模块"extractsuburls"使用aiohttp来执行web请求.

编辑:

好吧,我试过这个解决方案:

import asyncio
import aiohttp
from suburls import extractsuburls

@asyncio.coroutine
def extracturls( url ):
    subtasks = []
    response = yield from aiohttp.request('GET', url) …
Run Code Online (Sandbox Code Playgroud)

python asynchronous python-3.x python-asyncio aiohttp

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

AWS Inter Region VPN与VYOS

我正在尝试在两个AWS Region(俄勒冈州和爱尔兰)之间建立VPN.在俄勒冈州,我使用了AWS VPN服务,在爱尔兰,我使用了市场上的vyos EC2实例.在Oregon,我启动了一个实例,并为ICMP请求打开了安全组(0.0.0.0/0用于测试).我的Vyos实例的安全组也是开放的.

VPN双方都是UP,但我有一个奇怪的问题.

测试1:

从EC2-Oregon到EC2-Vyos的Ping:工作

测试2:

从EC2-Vyos到EC2-Oregon的Ping:不工作

但是如果我在EC2-Oregon上启动一个wireshark,我看到了ICMP请求,问题似乎就在ICMP回复上了:

11.609958 169.254.12.138 -> 10.10.2.45   ICMP 98 Echo (ping) request    id=0x2f3d, seq=1/256, ttl=63
11.929702   10.0.1.177 -> 10.10.2.45   ICMP 71 Time-to-live exceeded  (Time to live exceeded in transit)
12.610213 169.254.12.138 -> 10.10.2.45   ICMP 98 Echo (ping) request   id=0x2f3d, seq=2/512, ttl=63
12.929659   10.0.1.177 -> 10.10.2.45   ICMP 71 Time-to-live exceeded (Time to live exceeded in transit)
13.610111 169.254.12.138 -> 10.10.2.45   ICMP 98 Echo (ping) request  id=0x2f3d, seq=3/768, ttl=63
13.929952   10.0.1.177 -> 10.10.2.45   ICMP 71 …
Run Code Online (Sandbox Code Playgroud)

vpn amazon-web-services

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

pip for python3.5破Ubuntu 16.10

我遇到了一个奇怪的问题(3).

当我执行pip --version(或pip3 --version)之类的任何pip命令时,我收到此错误:

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 7, in <module>
    from pip import main
  File "/usr/local/lib/python3.5/dist-packages/pip/__init__.py", line 28, in <module>
    from pip.vcs import git, mercurial, subversion, bazaar  # noqa
  File "/usr/local/lib/python3.5/dist-packages/pip/vcs/subversion.py", line 9, in <module>
    from pip.index import Link
  File "/usr/local/lib/python3.5/dist-packages/pip/index.py", line 31, in <module>
    from pip.wheel import Wheel, wheel_ext
  File "/usr/local/lib/python3.5/dist-packages/pip/wheel.py", line 6, in <module>
    import compileall
  File "/usr/lib/python3.5/compileall.py", line 20, in <module>
    from concurrent.futures import ProcessPoolExecutor
  File "/usr/local/lib/python3.5/dist-packages/concurrent/futures/__init__.py", line 8, in <module>
    from …
Run Code Online (Sandbox Code Playgroud)

ubuntu pip python-3.5

9
推荐指数
2
解决办法
2689
查看次数

值文件中的舵连接列表

我正在寻找一种解决方案,将我的 values.yaml 中的列表转换为逗号分隔的列表。

值.yaml

app:
  logfiletoexclude:
    - "/var/log/containers/kube*"
    - "/var/log/containers/tiller*"
Run Code Online (Sandbox Code Playgroud)

_helpers.tpl:

{{- define "pathtoexclude" -}}
{{- join "," .Values.app.logfiletoexclude }}
{{- end -}}
Run Code Online (Sandbox Code Playgroud)

配置图:

<source>
  @type tail
  path /var/log/containers/*.log
  exclude_path [{{ template "pathtoexclude" . }}]
  ...
  ...
</source>
Run Code Online (Sandbox Code Playgroud)

问题是我的结果中缺少引号

 exclude_path [/var/log/containers/kube*,/var/log/containers/tiller*]
Run Code Online (Sandbox Code Playgroud)

我该如何修复它才能拥有:

  exclude_path ["/var/log/containers/kube*","/var/log/containers/tiller*"] 
Run Code Online (Sandbox Code Playgroud)

我试过:

{{- join "," .Values.app.logfiletoexclude | quote}}
Run Code Online (Sandbox Code Playgroud)

但这给了我:

exclude_path ["/var/log/containers/kube*,/var/log/containers/tiller*"] 
Run Code Online (Sandbox Code Playgroud)

谢谢

kubernetes-helm

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

将python类导入到包中的另一个文件夹中

我正在尝试从我的python包的另一个文件夹中导入一个python类,但我这个错误"没有模块命名模型".

这是一个Flask项目.

-app
  |-run.py
  |-myapp
    |- libs
        |- updateto
            |- __init__.py      (empty)
            |- connection.py
        |- removeto
        |- __init__.py    (empty)
    |- static
    |- templates
    |- __init__.py      (NOT empty)
    |- routes.py
    |- models.py
Run Code Online (Sandbox Code Playgroud)

我的init .py:

from flask import Flask

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///maindb.db'

from models import db
db.init_app(app)

import myapp.routes
Run Code Online (Sandbox Code Playgroud)

在我的models.py中,我有一个名为:application的类

在connection.py中我想导入我的类"应用程序".我试过"从模型导入应用程序",但我有这个错误"没有模块命名模型".

我认为通过修改"updateto"文件夹中的init.py可以达到这个目标,但我不确定,因为我不清楚init .py文件的功能......

谢谢

编辑:

这很奇怪,如果在connection.py下我添加"import myapp"和"print(help(myapp))",我输出这个:

Help on package myapp:

NAME
    myapp

FILE
    c:\app\myapp\__init__.py

PACKAGE CONTENTS
    libs (package)
    models
    routes

DATA
    app = <Flask 'myapp'>
Run Code Online (Sandbox Code Playgroud)

但如果我尝试"从myapp导入模型"我有这个错误"ImportError:无法导入名称模型" …

python import module flask

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

AWS Lambda python重置断开的连接

我有一个AWS Python Lambda,它为我的基础架构管理资源标签(使用boto3在AWS API上多次调用)。在我的笔记本电脑上执行的功能在Lambda下也可以正常工作。但是当我在Lambda下执行它时,我的所有日​​志(调试或错误级别)都不会发送到cloudwatch日志。而不是我有多个这样的日志:

Resetting dropped connection: ec2.us-west-2.amazonaws.com
Resetting dropped connection: ec2.us-west-2.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

Google说我这是相对于urlib3的问题,对AWS API的请求频率太高。

我的问题是,如何避免在Lambda中使用它在cloudwatch日志中检索我的日志?我寻找比将多个睡眠放入代码中更好的解决方案。有没有办法在全球范围内做到这一点?

谢谢

python amazon-web-services boto3 aws-lambda

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

Grafana 模板合并变量

我正在寻找一种解决方案来合并 grafana 中的两个模板变量(数据源:prometheus)。

我的用例是:

我有我的第一个变量:

deployment = label_values(kube_deployment_labels{namespace="$namespace"},deployment) 
Run Code Online (Sandbox Code Playgroud)

第二个:

statefulset = label_values(kube_statefulset_labels{namespace="$namespace"},statefulset)
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是只有一个下拉菜单(选择器),因为在我的仪表板中,我无法选择部署或 statefulset,但不能同时选择两者。

我在不同的方面尝试过:

1) 使用 prometheus 使用如下查询:

 kube_deployment_labels{namespace="$namespace"} or kube_statefulset_labels{namespace="$namespace"}
Run Code Online (Sandbox Code Playgroud)

但在这种情况下,我无法提取标签(可能是“部署”或“状态集”)

2)似乎不可能像这样在 grafana 中执行两个模板变量的合并:

$deployment,$statefulset
Run Code Online (Sandbox Code Playgroud)

也许我错过了一些东西......

谢谢,

马特

grafana prometheus

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

在python脚本中启动Fab File

我有一个fab脚本,它工作正常.为了启动它,我执行:

fab -H 192.168.xx.xx deployFiles deployConfiguration:'master',7
Run Code Online (Sandbox Code Playgroud)

deployFiles并且deployConfiguration都是我的功能fabfile.py.'master'7是我的参数deployConfiguration

我有另一个Python脚本,我想启动,fab在他内部的上一个命令.

如何使用Python脚本中的这些参数执行我的fabfile?

python fabric

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

使用SSL的Haproxy不起作用

我试图使用新的haproxy与ssl(1.5-dev12).但是这个新功能出错了.

我已安装:

make TARGET=linux2632 USE_OPENSSL=yes
make PREFIX=/opt/haproxy-ssl install
Run Code Online (Sandbox Code Playgroud)

但是当我检查配置文件时,我发现了这个错误:

[ALERT] 275/135959(10998):解析[/opt/haproxy-ssl/haproxy.conf:31]:'bind':'ssl'选项未实现.[ALERT] 275/135959(10998):解析[/opt/haproxy-ssl/haproxy.conf:69]:'server'期望和[:]作为参数.[ALERT] 275/135959(10998):在配置文件中找到错误:/opt/haproxy-ssl/haproxy.conf [警告] 275/135959(10998):代理'ha_stats':在多进程模式下,统计数据将仅限于分配给当前请求的流程.[WARNING] 275/135959(10998):stats套接字在多进程模式下无法正常工作(nbproc> 1).[ALERT] 275/135959(10998):配置中发现致命错误.

并且haproxy -vv命令返回:

HA-Proxy版本1.5-dev12 2012/09/10在没有OpenSSL支持的情况下构建(未设置USE_OPENSSL)

我不明白为什么openssl没有设置虽然我在安装过程中没有任何错误.

操作系统:Debian 2.6.32-5-xen-amd64 OPENSSL:OpenSSL 0.9.8o 2010年6月1日

你有好主意吗?

谢谢

更新:

解决了安装:

libssl-dev
Run Code Online (Sandbox Code Playgroud)

然后,新制作目标,新前缀及其作品.

ssl haproxy

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