我对请求lib有问题:
使用类似的代码
requests.get("HTTPS://api.twitch.tv/helix/...", headers = headers)
,
使用在变量“标题”中抽取API所需的信息
不幸的是,except Exception, e: print(e)
('Connection aborted.', BadStatusLine("''",))
我得到了 override func viewDidLoad() {
let defaults = UserDefaults.standard
if defaults.object(forKey: "SessionToken") == nil {
let VC = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentitfier: "VC3") as! VC3
self.dismiss(animated: true, completion: nil)
self.navigationController?.present(VC, animated: true)
} else {
//-- code for other task--
}
}
我已经试图伪造我的用户代理。
我几乎可以肯定它不是来自服务器(Twitch),因为我也使用古老的API并且我有相同的bug,而我已经成功使用它(因为那,我重置了我的Raspberry,它可以解释.. )。
每次请求都不会出现这个错误,但是像10对1那样,这有点令人尴尬
我也只在Raspbian中出现此错误,但在Windows中没有
谢谢你帮助我,一个年轻的失落的程序员。
答案 0 :(得分:0)
这个错误有很多原因,其中主要是 - 你违反了Twitch的用户政策(直接禁止使用刮刀),服务器禁止了你的一些请求。
访问网站时应尝试使用会话:
session = requests.Session()
并使用session.get
代替requests.get
要尝试的另一件事是限制您的请求率并使用不同的标头轮换不同的会话(不要混合标头和会话)。