无法在python中使用urllib打开网站

时间:2014-04-01 18:31:03

标签: python scala

我有一个在localhost:8080

运行的rest api服务器

基本上我在这个网站上运行一个例子:https://github.com/spray/spray-template/tree/on_spray-can_1.1/src/main/scala/com/example

在我的本地主机:8080我看到了

  

"跟喷雾罐喷涂路线打招呼!"

消息..

现在我的python代码是:

import urllib
proxies = {'http': 'http://proxy.abcd.com:800'}
response = urllib.urlopen("http://localhost:8080",proxies=proxies)
print response.read()

这就是我所看到的:

<HTML><HEAD>
<TITLE>Network Error</TITLE>
</HEAD>
<BODY>
<FONT face="Helvetica">
<big><strong></strong></big><BR>
</FONT>
<blockquote>
<TABLE border=0 cellPadding=1 width="80%">
<TR><TD>
<FONT face="Helvetica">
<big>Network Error (dns_unresolved_hostname)</big>
<BR>
<BR>
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">
Your requested host "localhost" could not be resolved by DNS.
</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica">

</FONT>
</TD></TR>
<TR><TD>
<FONT face="Helvetica" SIZE=2>
<BR>
For assistance, contact your network support team.
</FONT>
</TD></TR>
</TABLE>
</blockquote>
</FONT>
</BODY></HTML>

所以,我在代理后工作..我已经指定了代理,但它仍然无法正常工作。 任何线索

由于

1 个答案:

答案 0 :(得分:1)

localhost:8080只能从您的电脑上访问。不是来自别处。因此,当您使用代理服务器proxy.abcd.com:800这样的代理时,您的localhost无法访问。这就是为什么它不适合你。如果您确实需要测试代码,请将网址更改为任何其他公开可见的网站,例如google,yahoo,example等。

response = urllib.urlopen("http://www.example.com",proxies=proxies)

或者,删除代理:

response = urllib.urlopen("http://localhost:8080")