我尝试构建一个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) 是否可以使用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) 我正在尝试在两个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) 我遇到了一个奇怪的问题(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) 我正在寻找一种解决方案,将我的 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)
谢谢
我正在尝试从我的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:无法导入名称模型" …
我有一个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日志中检索我的日志?我寻找比将多个睡眠放入代码中更好的解决方案。有没有办法在全球范围内做到这一点?
谢谢
我正在寻找一种解决方案来合并 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)
也许我错过了一些东西......
谢谢,
马特
我有一个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?
我试图使用新的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)
然后,新制作目标,新前缀及其作品.
python ×5
aiohttp ×1
asynchronous ×1
aws-lambda ×1
boto3 ×1
fabric ×1
flask ×1
grafana ×1
haproxy ×1
http ×1
http-headers ×1
import ×1
module ×1
pip ×1
post ×1
prometheus ×1
python-3.5 ×1
python-3.x ×1
request ×1
ssl ×1
ubuntu ×1
vpn ×1