我是ruby的新手,从python背景我想对URL发出请求并查看一些信息,比如文件是否存在于服务器和时间戳,etag等等,我无法完成红宝石.
在Python中:
import httplib2
print httplib2.Http().request('url.com/file.xml','HEAD')
Run Code Online (Sandbox Code Playgroud)
在Ruby中:我试过这个并抛出一些错误
require 'net/http'
Net::HTTP.start('url.com'){|http|
response = http.head('/file.xml')
}
puts response
SocketError: getaddrinfo: nodename nor servname provided, or not known
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:877:in `initialize'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:877:in `open'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:877:in `block in connect'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/timeout.rb:51:in `timeout'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:876:in `connect'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:861:in `do_start'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:850:in `start'
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:582:in `start'
from (irb):2
from /Users/comcast/.rvm/rubies/ruby-2.0.0-p0/bin/irb:16:in `<main>'
Run Code Online (Sandbox Code Playgroud) 我正在创建一个用于配置构建系统的ansible playbook.部分原因是我开始为CentOS编写安装java(开放JDK和Oracle JDK)的角色.通过YUM包管理器可以打开JDK,因此在那里没有幂等问题.对于oracle Java,我需要下载,安装,符号链接和清理.为了创造幂等性,我正在寻找更简洁的方法,例如这里是我的代码.基本上我正在检查符号链接以确定是否安装了java,并注册一个变量以便稍后在WHEN模块中使用它.我不喜欢的是在安装jdk的所有四个步骤中使用When语句.如何将所有四个步骤(下载,安装,符号链接和清理)分组到一个块中,并根据一个when语句使它们全部运行?
- name: Check if Java 8 is instaled
stat: path=~/java/oraclejdk8
register: oraclejdk8_sym
- name: Download Java 8
command: "wget --no-cookies -O {{ jdk_download_path }}/{{ oraclejdk8.jdk_rpm_file }} --no-check-certificate --header 'Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie' {{ oraclejdk8.jdk_rpm_url }}"
when: oraclejdk8_sym.stat.islnk is not defined
- name: Install Java 8
yum: name={{ java_archive }} state=present
when: oraclejdk8_sym.stat.islnk is not defined
- name: Symlink to ~/java/oraclejdk8
file: path=~/java/ state=directory mode=0755
command: "ln -s /usr/java/jdk{{ oraclejdk8.jdk_version }} ~/java/oraclejdk8"
when: oraclejdk8_sym.stat.islnk …Run Code Online (Sandbox Code Playgroud) 我刚刚设置了virtualenv来启动django项目.我安装好了一切.当我发出"python manage.py runserver"时,它会吐出这个错误.我尝试了所有类型的django runserver错误,没有人似乎有这个.有人有洞察力吗?
Validating models...
Unhandled exception in thread started by <bound method Command.inner_run of <django.contrib.staticfiles.management.commands.runserver.Command object at 0x1016bb0d0>>
Traceback (most recent call last):
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/core/management/commands/runserver.py", line 92, in inner_run
self.validate(display_num_errors=True)
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/core/management/base.py", line 280, in validate
num_errors = get_validation_errors(s, app)
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/core/management/validation.py", line 35, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/db/models/loading.py", line 166, in get_app_errors
self._populate()
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/db/models/loading.py", line 72, in _populate
self.load_app(app_name, True)
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/db/models/loading.py", line 96, in load_app
models = import_module('.models', app_name)
File "/usr/local/bin/django-hari/lib/python2.6/site-packages/Django-1.5.4-py2.6.egg/django/utils/importlib.py", …Run Code Online (Sandbox Code Playgroud)