【发布时间】:2016-01-27 22:01:44
【问题描述】:
我制作了一个简单的 python 脚本来访问网页并登录并从中检索数据,它在我的机器上使用 urllib/urllib2 或 mechanize 工作。
所以我想在一个网站中使用这个脚本,这样任何用户都可以在我的网站上填写他的登录凭据,这个脚本将获取这些数据并填写另一个网站。
我使用 OpenShift.com 作为在线 python 服务器并在其上尝试了我的脚本,它适用于我尝试过的所有网站 (http/https),但它在我的目标网站上出现错误:
urllib2.URLError: <urlopen error [Errno 13] Permission denied>
完全错误:http://pastebin.com/73vTYEvu
所以它在我运行 ubuntu 15.10 的机器上运行良好真的很奇怪,但是它在服务器上给出了这个错误并且只在我的目标网站上出现,这是一个非常简单的网站(下面的脚本中的链接),我认为它是网站具体!
我整天都在寻找这个,我尝试了很多方法,包括 https 特定的方法,但仍然没有用。
我不介意更改整个方法或服务器,只要它有效:)
我的脚本:(导致错误的部分)
import urllib2
page = urllib2.urlopen('https://uos.sharjah.ac.ae:9050/prod_enUS/twbkwbis.P_WWWLogin')
print page.read()
【问题讨论】:
-
@felipsmartins 它在本地对我有用,但是当我在 OpenShift 服务器上运行脚本时出现此错误。
-
@OmarEina 好吧...过去我也遇到过同样的问题。实际上,由于 SELINUX 问题,Openshift 不允许连接到远程主机以及非默认端口。也许你想选择 Heroku。看这个帖子:github.com/guzzle/guzzle/issues/1001