获取http请求状态中的选项300

时间:2014-05-25 16:57:05

标签: python python-3.x httprequest urllib

read当我收到此错误时,我应该更好地指定网址。我假设我应该在两个显示或可访问的选项之间指定。我怎么能这样做?

urllib或其教程中,我找不到任何内容。我的假设是真的吗?我可以在某处找到可能的网址吗?

当我在浏览器中打开此网址时,我被重定向到新网址。

我尝试访问的网址:http://www.uniprot.org/uniprot/P08198_CSG_HALHA.fasta
我被重定向的新网址:http://www.uniprot.org/uniprot/?query=replaces:P08198&format=fasta

import urllib.request
try:
    response = urllib.request.urlopen(url)
except urllib.error.HTTPError as e:
    if int(e.code) == 300:
        # what now?

1 个答案:

答案 0 :(得分:0)

状态码300从服务器返回告诉您,您的请求在某种程度上是不完整的,您将更加具体。

测试网址,我尝试从http://www.uniprot.org/搜索并输入搜索“P08198”。这导致页面http://www.uniprot.org/uniprot/P08198告诉我

Demerged into Q9HM69, B0R8E4 and P0DME1. [ List ] 

对我而言,对某些蛋白质的查询似乎不够具体,因为这个蛋白质代码被分成子类别或子序列Q9HM69,B0R8E4和P0DME1。

结论

状态代码300是来自服务器应用程序的信号,您的请求在某种程度上是模棱两可的。方式,您可以使其具体到特定于应用程序并且与PythonHTTP状态代码无关,您必须在应用程序逻辑中找到有关良好URL的更多详细信息。