如何使用HTTP从Web连接和获取页面?

时间:2019-08-15 15:41:25

标签: centos julia

目标:使用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连接和提取网页!

1 个答案:

答案 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"