AttributeError:“响应”对象没有属性“ add_header”

时间:2019-07-18 02:05:51

标签: python api

我是API调用的新手。我听说这很简单,但是我正在努力完成脚本。

我尝试过更改代码,但是我想我可能已经搞砸了。我目前正在使用python 3.6.8,并且我的软件包已安装在虚拟环境中。

import pandas as pd
import json
import requests

df = pd.read_csv('lusha_domain.csv')
req = requests.get('https://api.fullcontact.com/v3/company.enrich')
req.add_header('Authorization', 'Bearer {xxxxxxx}')
data = json.dumps({
    'domain': 'fullcontact.com'
})

response = requests.urlopen(req, data)

原始代码在link(http://docs.fullcontact.com/?python#company-enrichment

下面
import urllib.request, json

req = urllib.request.Request('https://api.fullcontact.com/v3/company.enrich')
req.add_header('Authorization', 'Bearer {Your API Key}')
data = json.dumps({
    "domain": "fullcontact.com"
})

response = urllib.request.urlopen(req,data)

回溯(最近通话最近):   第15行     req.add_header('Authorization','Bearer {xxxxxxx}') AttributeError:“响应”对象没有属性“ add_header”

2 个答案:

答案 0 :(得分:0)

您期望得到什么输出?

错误的原因是因为您的响应(req变量)没有属性“ add_header”,因此您可以按以下方式检查req:

dir(req)

[' attrs ',' bool ',' class ',' delattr ','< strong> dict ”,“ dir ”,“ doc ”,“ 输入”,“ eq ”,“ 退出”,“ 格式”,“ ge ”,“ 获取属性”,“ getstate ”,“ gt ”,“ 哈希”,“ 初始化”,“ 迭代器” ',' le ',' lt ','模块',' ne ','”,“ 非零”,“ 减少”,“ reduce_ex ”,“ 代表” ,“ setattr ”,“ setstate ”,“ sizeof ”,“ str ”,“ 子类挂钩” ”,“ 弱引用”,“ _ content”,“ _ content_consumed”,“ _ next”,“ apparent_encoding”,“ close”,“ connection”,“ content”,“ cookies”,“过去”,“编码”,“ hea” ders','history','is_permanent_redirect','is_redirect','iter_content','iter_lines','json','links','next','ok','raise_for_status','raw','reason' ,“请求”,“状态代码”,“文本”,“网址”]

似乎原始代码要求您进行令牌认证,并通过标头发送。但是,您可以看到响应的内容,例如:

req.content

答案 1 :(得分:0)

我意识到这是一个API问题。我使用的帐户仅允许个人充值,而不允许公司数据充值。抱歉浪费您的时间。