【问题标题】:Why can't I connect with a non-browser application to this url?为什么我无法通过非浏览器应用程序连接到此 url?
【发布时间】:2009-05-18 10:03:34
【问题描述】:
【问题讨论】:
标签:
networking
network-programming
network-protocols
【解决方案1】:
试试这个:
wget --referer="http://www.google.com" --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" --header="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5" --header="Accept-Language: en-us,en;q=0.5" --header="Accept-Encoding: gzip,deflate" --header="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" --header="Keep-Alive: 300"
这可能会诱使网站认为您拥有“合法”浏览器
【解决方案2】:
嗯,我试过这样做:
wget http://sube.garanti.com.tr
哪个超时了。
但是这样做:
wget https://sube.garanti.com.tr/isube/login/en
给了我网站的来源。它是框架基础,我正在获取框架定义。
原因可能是,该网站无法通过正常 (http) 连接访问,您必须使用安全连接 (https)。
但是,根据经验,我会尝试为任何此类应用程序设置 User-Agent: 标头,如 pjc50 所述。
【解决方案3】:
也许是因为你需要先登录才能在这个网址上做任何事情?
您可以使用 perl 的 LWP 登录网站,例如,通过正确提交登录表单。
附:我的浏览器也无法连接到 sube.garanti.com.tr。
【解决方案4】:
AFAIK wgte,curl 在服务器端打开站点。所以检查你的防火墙(如果有的话),看看它是否被阻止。
网站也可以阻止传入的请求。它是一个银行网站,我们可以预见到一些安全限制。
【解决方案5】:
一些网站会检查 User-Agent: 标头。您可能需要将下载器配置为将自己标识为“Mozilla”而不是自己。