目标:使用julia中的HTTP包获取网页:
环境:CentOS7.4
fetch.jl的内容:
#! /opt/julia/julia-1.1.0/bin/julia
using HTTP, Cascadia, Gumbo;
function fetch()
url ="https://www.google.com";
#url ="https://en.wikipedia.org/Stack_Overflow";
#url ="https://stackoverflow.com/questions/tagged/julia";
parsedPage = parsehtml(String(HTTP.get(url)));
println(string(parsedPage));
end
fetch();
调用julia>/home/julia/fetch.jl
如下所示:
...
ERROR: LoadError: IOError(Base.Error(connect: host is unreachable(EHOSTUNREACH)", -113), during request(https://www.google.com))
...
观察:
a)这些站点正在浏览器(Mozilla Firefox)中打开。
b)wget提取页面
c)另外,尝试使用i)关闭防火墙(使用systemctl stop firewalld
)和selinux(使用setenforce 0
)。
ii)其他网址。但是,没有成功!
请帮助我使用HTTP连接和提取网页!
答案 0 :(得分:0)
您的代码似乎有效。
尝试使用普通套接字进行连接,看看会发生什么:
julia> using Sockets
julia> t = connect("google.com", 80)
TCPSocket(Base.Libc.WindowsRawSocket(0x000000000000037c) open, 0 bytes waiting)
julia> println(t, "GET /")
julia> readline(t)
"HTTP/1.0 200 OK"