小编Mar*_*oij的帖子

Ruby open-uri重定向被禁止

我有这个简单的html解析器(用于学习目的),我一直在研究:

require 'open-uri'
puts "Enter URL to parse HTML: "
url = gets.chomp
puts "Enter tag to parse from: "
tag = gets.chomp
response = open(url).read
title1 = response.index(tag)
title2 = response.index(tag.insert(1,'/')) -1
result = response[(title1 + tag.length - 1)..title2]
print result 
Run Code Online (Sandbox Code Playgroud)

当我输入时http://twitter.com,我收到此错误消息:

ERROR: `open_loop': redirection forbidden: http://twitter.com -> https://twitter.com/ (RuntimeError)
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:149:in `open_uri'
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:704:in `open'
from /usr/local/rvm/rubies/ruby-2.1.4/lib/ruby/2.1.0/open-uri.rb:34:in `open'
from /home/ubuntu/workspace/htmlparse.rb:6:in `<main>' 
Run Code Online (Sandbox Code Playgroud)

有任何建议或帮助吗?我是Ruby新手,我知道其他html解析模块,但我这样做是为了学习Ruby基础知识.谢谢.

ruby open-uri

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

如何获取文本区域内文本的高度

我有一个textarea文本Hello World.我想得到这篇文章的高度.

我试过用:

var element = document.getElementById('textarea');
var textHeight = element.innerHTML.offsetHeight;
Run Code Online (Sandbox Code Playgroud)

和:

var textHeight = element.value.offsetHeight;
Run Code Online (Sandbox Code Playgroud)

但是这些不是给出文本的数字,而是给出textarea元素的高度.

javascript textarea innerhtml

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

如何配置WEBrick在Rails中使用SSL?

在此之前的Rails 3,您可以修改脚本/服务器文件以SSL参数添加和告诉服务器命令来使用的WEBrick的HTTPS版本.现在,所有这些脚本都消失了,没有人知道如何得到这个使用Rails 3或4个工作?

ruby ssl rack ruby-on-rails webrick

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

如何在非python travis配置中使用python 3作为构建脚本?

我正在尝试在使用基于python3的自定义构建脚本的C库上使用Travis CI.

在构建存储库时,它会失败,./configure因为configure使用的是默认情况下未安装的Python 3.

如果我正在构建一个Python项目,我会在我的.travis.yml:

python:
  - "3.4"
Run Code Online (Sandbox Code Playgroud)

然而,这似乎并没有影响到我的仓库,因为它是在C.(我试图运行which python3python --version,其报道称,巨蟒-3不存在和Python 2.7是在使用来代替.)

我试过的构建脚本:

language: c

python:
  - "3.4"
Run Code Online (Sandbox Code Playgroud)

当我的项目不是Python项目时,如何在Travis CI中使用Python 3?

python python-3.x travis-ci

28
推荐指数
3
解决办法
3214
查看次数

Scala.js的期货

我试图在Scala.js中使用Promises和Futures.承诺是有效的,一旦涉及期货,我会得到警告和错误.

尝试:

val p1 = Promise[Int]
val f1: Future[Int] = p1.future
val p2 = Promise[Int]
val f2: Future[Int] = p2.future

val res1 =  for {
   v1 <- f1
   v2 <- f2
} yield v1 + v2


val res2 = f1.flatMap(x => f2.map(y => x + y))



res1 onSuccess {
  case x: Int => g.console.log(x);

}

res2 onSuccess {
  case x: Int => g.console.log(x);

}

// callback in dom, using ScalaTags
// div(`class` := "btn  btn-default", `type` := "button", onclick := …
Run Code Online (Sandbox Code Playgroud)

javascript scala future promise scala.js

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

如何在Android中捕获数据包?

我想捕获TCP数据包以及Android中的HTTP和HTTPS等协议数据,类似于Windows中的Wireshark.

我怎样才能在Android中执行此操作?

android packet-capture

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

在vimscript中使用Python:如何将值从python脚本导出回vim?

我在vim中挣扎着Python.
我还没有发现如何将python脚本(在vim函数中)中的值导回到vim pe

function! myvimscript()

  python << endpython
    import vim, random, sys
    s = vim.eval("mylist")
    # do operation with variable "s" in python
  endpython

  " import variable "s" from above 
  " do operation with "s" in vimscript
endfunction
Run Code Online (Sandbox Code Playgroud)

1)如何"s"在vim中再次使用(如何"s"从python代码导入vim)?

我无法找到如何使用vim.current.buffer选择.

function! myvimscript()
  let startline = line("'<")
  let endline = line("'>")

  python << endpython
    start = vim.eval("startline")
    end = vim.eval("endline")
    cb = vim.current.buffer 
    l = cb[start:end]
  endpython
endfunction
Run Code Online (Sandbox Code Playgroud)

2)我如何分配动态值"start",并"end""l"

python variables vim

18
推荐指数
2
解决办法
5090
查看次数

QtRuby是否适用于Qt 5?

我在网上可以找到关于QtRuby的所有内容都使用Qt 4,但Qt的当前版本是5.这仅仅是文档没有赶上现实的问题,Qt 5可以在QtRuby上运行得很好吗?

如果你断言是这种情况(Qt5不受支持),那么请用证据备份你的断言.

ruby qt qtruby qt5

17
推荐指数
2
解决办法
5315
查看次数

惊喜!shell建议命令行开关

我注意到bash shell可以为你的命令建议命令行开关.

只需键入您的命令,短划线( - )和类型选项卡.shell将显示可用的开关.

例如,尝试:

andy@andyx:~$ java -
Run Code Online (Sandbox Code Playgroud)

并按标签 - 惊喜!

截图

问题是:

如何与此功能连接.即,如果我编写一个要从控制台运行的程序,那么告诉shell哪些开关可用的API是什么?

linux bash shell command-line

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

打开python 3 urllib的调试输出

在python 2中,可以通过执行从urllib获取调试输出

import httplib
import urllib
httplib.HTTPConnection.debuglevel = 1
response = urllib.urlopen('http://example.com').read()
Run Code Online (Sandbox Code Playgroud)

但是,在python 3中,它似乎已被移动到

http.client.HTTPConnection.set_debuglevel(level)
Run Code Online (Sandbox Code Playgroud)

但是,我直接使用urllib而不是http.client.如何设置它以便我的http请求以这种方式显示调试信息?

这是我到目前为止使用的内容.如果我想获得调试信息,最好的方法是什么?

#Request Login page
cookiejar = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookiejar))
request = urllib.request.Request(options.uri)
add_std_headers(request)
response = opener.open(request)
response_string = response.read().decode("utf8")
# ...
Run Code Online (Sandbox Code Playgroud)

python debugging http urllib python-3.x

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