2014-12-31 25 views
1

我可能在监督一些显而易见的事情,但似乎无法确定它。我正在尝试使用以下网址开始简单验证。用Python请求检索XML时出现的问题

http://myanimelist.net/api/account/verify_credentials.xml

http://myanimelist.net/modules.php?go=api#verifycred

(这里有关于这个URL完整的文档)。

这是用于测试它的代码。

class Foobar(): 
    def __init__(self): 
     pass 

    def bar(self): 
     client = requests.get('http://myanimelist.net/api/account/verify_credentials.xml', 
      auth=(username, password)) 

     if client.status_code == 200: 
      print "Succesfull authentication. %i"%client.status_code 
     else: 
      print "Authentication failed %i"%client.status_code 

    print client.text 

Foo = Foobar() 
Foo.bar() 

我得到了正确的答复,并认为这是正确的方式。但是从这部分我只收到这样的回复。

每个请求都会发送有关用户凭证是否正确的信息。

我试过各种编码,也没有以任何方式影响响应。

编辑:我似乎已经解决了这个问题。在清除我的Cookie并清除缓存后,它返回了状态码401的有效回复。

+0

您是否尝试过使用xml解析器来解析响应内容? – Anzel

+0

XML解析器无法解析返回的HTML。 header ['Content-Type]返回文本/ html – Katpoes

+0

好的,然后你有没有尝试过在发送你的请求之前把content-type放到头上的xml上?像这样:'headers = {'Content-Type':'application/xml'}''client = requests.get('..',headers = headers,...)'? – Anzel

回答

0

导致它的问题是由网站本身进行烹饪。我不确定哪个cookie特别引起了这个问题,但一旦发现我会添加它。

编辑:他们有一个机器人检查第三方连接,它禁止你尝试连接时,他们的API无用。